Android阅读器实验报告

合集下载

基于Android的在线电子书阅读器报告

基于Android的在线电子书阅读器报告

期末作品报告课程名称: Android应用程序开发学号:姓名:班别:1引言在这个快节奏的时代,人们的空余时间越来越零碎,而且人们对智能手机的依赖越来越重,所以,一个拥有丰富功能且能随时进行电子书阅读的在线小说阅读器的出现,则是我们刻不容缓的事情。

此软件是在Android平台上进行设计开发,此软件的开发是通过了客户需求分析阶段以及技术可行性分析阶段,然后进行总体设计阶段和详细设计编码等阶段。

此软件不仅具有基本的电子书阅读功能,而且还拥有丰富的实用功能设计。

经过不断的测试与完善,电子书阅读器功能稳定,并且在真机上对其进行了测试与验证,基本上达到了用户的需求标准。

1、功能分析1.1项目来源此次开发的项目是在线小说阅读器,属于自选项目。

随着社会的发展,人们的生活节奏也越来越快空闲时间也越来越零碎,人们没有了大段的时间来进行书籍的阅读,所以一款能利用零碎时间进行随时阅读的软件成为了我们的需求。

而一款能在人们随身携带的手机上运行的阅读软件成为了大家的选择。

以前我们看看杂志,小说都要去图书馆借阅,而且时间有限,很不方便;而在电脑上看杂志,看小说,文档也是很不方便的。

以此看来,一个好的手机阅读器软件的开发是相当有必要的。

1.2开发目标在线小说阅读器的开发目标就是让用户可以把零碎的空余时间有效的利用到书籍的阅读上,而且用户在没有网路的情况下也可以正常的进行书籍的阅读,让用户摆脱书籍的笨重携带不方便等确定,给予阅读者更大的便利性更好的舒适性。

此软件是在Android平台上进行设计开发,它的界面丰富简洁但是却不简单,它包含了书架界面、2文件查看界面、软件设置界面、书籍阅读界面等界面,它的功能全面。

其优越性表现在:自动扫描手机里的所有书籍、手动从文件夹中选择添加书籍、自动为书籍生成章节目录、添加查看书签、全文关键词搜索、阅读主题选择、阅读字体大小设置等功能。

此外,给用户更清晰方便的界面,也是本软件的出发点之一。

2、功能设计2.1系统功能设计根据需要,在线图书阅读器主要实现即时的在线阅读,主要包含以下功能:(1)在线即时搜索图书:可以按照书名、作者进行搜索所要阅读的书籍。

android实验报告心得体会

android实验报告心得体会

android实验报告心得体会《Android 实验报告心得体会》在大学的学习生涯中,我有幸参与了 Android 实验课程。

这可不是一般的课程,它就像一场刺激的冒险,让我在代码的世界里摸爬滚打,有欢笑,有泪水,更多的是满满的收获。

还记得第一次走进实验室,看到那一排排电脑整齐地摆放着,我心里既兴奋又紧张。

兴奋的是终于能亲手实践 Android 开发,紧张的是担心自己搞不定那些复杂的代码和操作。

老师简单介绍了实验的目的和要求后,就把我们“丢”进了代码的海洋,让我们自己去探索。

我选择的第一个实验项目是开发一个简单的记账 APP。

听起来好像不难,但真正做起来,那可真是状况百出。

首先是界面设计,我原本想象着能做出一个简洁美观的界面,结果弄出来的东西简直惨不忍睹。

按钮大小不一,颜色搭配怪异,布局更是乱七八糟。

我这才明白,原来设计一个让人看着舒服的界面也不是一件容易的事儿。

我一边对照着教材,一边在网上搜索相关的教程,一点点地修改调整。

经过无数次的尝试,终于让界面看起来像那么回事儿了。

接下来就是功能实现部分,这才是真正的挑战。

我要让这个 APP 能够记录收入和支出,还要能进行分类统计和数据存储。

写代码的时候,总是会出现各种各样的错误。

有时候少了一个括号,有时候变量名写错了,最崩溃的是有时候找了半天也不知道错在哪儿。

每当这个时候,我就会抓耳挠腮,恨不得把电脑砸了。

但冷静下来后,还是得耐着性子一行一行地检查代码。

在实现数据存储功能的时候,我遇到了一个大难题。

怎么才能把用户输入的数据安全地保存起来呢?我尝试了几种不同的方法,都不太理想。

最后,在同学的帮助下,我才找到了合适的解决方案。

那一刻,我真的是感激涕零啊,深深地体会到了团队合作的重要性。

经过几天的努力,我的记账 APP 终于初见雏形。

当我第一次成功地在手机上运行它,并且能够顺利地进行记账操作时,那种成就感简直无法用言语来形容。

我兴奋地向周围的同学展示我的成果,心里充满了自豪。

Android实训实习报告总结

Android实训实习报告总结

Android实训实习报告总结《Android 实训实习报告总结》在当今数字化的时代,移动应用的开发成为了技术领域的热门方向之一。

作为一名对移动开发充满热情的学习者,我有幸参与了 Android 实训实习,这段经历不仅让我深入了解了 Android 开发的技术和流程,更让我在实践中提升了自己的能力,也让我对未来的职业发展有了更清晰的规划。

在实训实习的开始阶段,我对 Android 开发的概念还比较模糊。

通过老师的耐心讲解和指导,我逐渐了解到 Android 是一个基于 Linux 内核的开源移动操作系统,其应用开发主要使用Java 或Kotlin 编程语言。

对于从未接触过这两种语言的我来说,这无疑是一个巨大的挑战。

但我深知,只有克服这些困难,才能真正掌握 Android 开发的精髓。

为了尽快上手,我开始系统地学习 Java 和 Kotlin 的基础知识。

从变量、数据类型、控制结构到面向对象编程的概念,每一个知识点我都认真钻研,通过大量的代码练习来加深理解。

同时,我还利用在线课程和技术论坛,与其他开发者交流经验,解决在学习过程中遇到的问题。

在掌握了基本的编程语言知识后,我开始着手进行实际的项目开发。

我们的第一个项目是开发一个简单的记事本应用。

这个应用虽然功能相对简单,但却涵盖了 Android 开发的许多基本概念,如界面布局、数据存储、菜单操作等。

在开发过程中,我遇到了不少问题。

例如,如何设计一个简洁美观的用户界面,如何实现数据的持久化存储,以及如何处理不同屏幕尺寸的适配问题。

通过查阅文档、参考开源项目和向老师同学请教,我逐渐解决了这些问题,最终成功完成了记事本应用的开发。

随着项目经验的积累,我开始参与更复杂的应用开发。

其中,让我印象最深刻的是一个基于地图的导航应用。

这个项目不仅要求具备扎实的Android 开发技术,还需要了解地图API 的使用和地理定位技术。

在开发过程中,我遇到了诸如地图加载缓慢、定位不准确等问题。

android实训报告

android实训报告

android实训报告一、引言Android实训是一项重要的培训活动,旨在提高学员对Android应用开发的理解和实践能力。

本报告将详细介绍实训的内容、目标和成果,以及学员在实训过程中的体会和反思。

二、实训内容1. 理论学习在实训开始前,学员接受了关于Android开发框架、应用组件和常用工具的理论知识培训。

这为后续实践提供了必要的基础。

2. 实践项目在实训期间,每位学员都参与了一个实践项目的开发。

项目的要求包括但不限于:- 设计一个具有用户界面的Android应用程序。

- 实现基本功能,如数据输入、处理和展示。

- 尝试使用不同的布局和控件,提升用户交互体验。

- 掌握与后端服务器通信的方法,实现数据的传输和同步。

三、实训目标1. 理论知识应用通过实践项目的开发,学员能够将之前学习到的Android理论知识应用到实际场景中。

他们了解如何创建活动、使用片段、处理用户输入等。

2. 掌握开发工具实训过程中,学员逐渐熟悉了Android Studio等开发工具的使用。

他们学会了创建项目、添加库和依赖项,以及调试和测试应用的方法。

3. 团队合作与沟通实训项目通常是由小组合作完成的,学员需要协调分工、沟通交流,并共同解决问题。

通过这样的合作,他们培养了团队合作的能力。

四、实训成果1. 完整的应用程序经过较长时间的努力,每个学员都成功地完成了一个功能完整的Android应用程序。

这些应用程序在界面设计、功能实现和用户体验等方面具有一定的水平。

2. 技能提升学员在实训过程中不断探索、学习新知识,提高了Java编程、Android开发和问题解决的能力。

他们掌握了一些常用库和框架的使用方法,并能灵活运用到实际项目中。

3. 实践经验通过实训,学员对Android应用开发有了更深入的了解,积累了宝贵的实践经验。

他们学会了发现问题、分析原因,并提出解决方案。

五、个人体会与反思在实训过程中,学员遇到了许多挑战和困难,但同时也有很多收获和成长。

安卓txt阅读器课程设计报告

安卓txt阅读器课程设计报告

Android期末考核作业作品名称:酷阅txt阅读器1.0.0班级:专业:软件工程姓名:学号:一、软件功能1、查找书功能:点击菜单键,在弹出的SD卡列表中查找。

2、字体:点击菜单键,在弹出的菜单中选择设置,可以更换字体大小和字体颜色。

3、翻页特效:用手指按住阅读界面的右下角,向左下角拖动,能够给用户十分真实的阅读纸质书本的体验。

4、退出保存:退出软件时能够自动保存当前的阅读进度,下一次打开同一个文档时能够自动跳到上次阅读界面。

二、软件特点酷阅txt阅读器1.0.0能够从SD卡中查找并打开txt文件,在打开txt文件的时候能够作出判断是否以前有打开这个文件的记录。

如果有,则根据数据库中存储的阅读进度信息自动跳到上次退出这个文档时的阅读进度,如果没有阅读记录则从头打开;同时阅读器还有字体大小调整的功能,因为安卓手机屏幕的大小和分辨率千差万别,字体的显示效果也千差万别,用户可以根据屏幕调整字体的大小;阅读器最大的亮点就是翻页特效功能,用手指按住阅读界面的右下角,向左下角拖动,能够给用户十分真实的阅读纸质书本的体验。

还有一个很重要的功能就是在用户退出软件时,能够自动的保存当前的阅读进度,当下次打开同一份文档时能够自动跳到上次阅读的地方,而不用从头开始。

三、概要设计1. 需求规定安卓系统已近成为当今主流的手机操作系统,可以为用户带来良好的移动互联网体验。

现在越来越多人通过电子设备来阅读书籍,手机阅读软件应该给用户一个很自然的很人性化的操作体验,如类似如阅读纸质书籍的翻书效果。

本软件可以在Android智能手机上安装运行进行阅读txt电子书,可以提供查找、调整字体大小、退出保存记录等功能。

2.开发运行环境本软件使用Eclipse和Android SDK开发,可以在Android2.0版本及其以上版本的手机上安装和运行。

3.功能和模块的划分用户查找书籍的时序图:查找书籍时候的截图:设置字体大小界面截图其他功能描述略四、功能的具体实现1.主控制类ReaderActivity类的实现ReaderActivity类是主要控制程序运行的类,实现了各个界面的有序切换,各个按钮和对话框的监听事件,加载了程序中用到的相关资源,有效地控制了程序的运行,其一些主要方法如下:onCreate方法是程序运行时,进入主界面钱调用的方法在此方法中对程序用到的相关变量进行赋值,并为相关类创建对象,以方便调用;onKeyDown方法是重写父类的onKeyDown方法,当按下不同的键时,根据按键值的不同产生不同的动作,此方法设计返回键和Menu键;sendMsessage方法是各个界面相互跳转时和不同线程之间传递消息是调用的方法;isWhichTime方法用以判断是否为第一次打开程序,如果是,则程序中的变量值为默认值,如果不是,第一次打开,则获取上一次打开时设置的值;saveCurrentData方法是当退出程序时,将当前信息存入数据库。

毕业论文-基于Android的手机电子书阅读器的设计与实现

毕业论文-基于Android的手机电子书阅读器的设计与实现

基于Android的手机电子书阅读器的设计与实现摘要随着社会不断进步与发展,生活节奏不断加快,信息已经成为我们生活中不可缺少的一部分,使用平常的书本阅读已经满足不了我们对信息大量且繁杂的需求。

而手机已经成为我们生活中的主要构成部分,使用手机作为承载书本内容的新平台已是大势所趋,大众需要一款可以在手机上打开电子书并且有良好阅读体验的软件。

本软件主要使用Java作为开发语言,使用SQLlite3作为数据库管理系统,开发环境是Eclipse。

软件的主要功能包括:查询本地txt格式电子书,保存电子书到书架并进行管理,阅读本地电子书,添加书签等。

关键词:手机电子书,Java,SQLlite3Based on the design and realization of the Android mobile ebookreaderAbstractAlong with the social progress and development, the pace of life, information has already become an indispensable part of our life, using ordinary books reading already can not satisfy our demand for large and complex information.And the mobile phone has become a main part of our life,the use of mobile phone as a new platform of carrying the book content is the trend of The Times.Public needs a mobile software to open e-book and have a good reading experience.The front of the software using Java as a development language, the use of SQLlite3 as database management system, the development environment is Eclipse.The main functions of the software include:Check the local TXT format of e-books,save the e-book to the bookcase and managed,read the local ebook,add bookmarks,etc.Key words: ebook,,Java,SQLlite3目录摘要(手机电子书,Java,SQLlite) (I)Abstract(ebook,Java,SQLlite) (II)第一章前言 (1)1.1课题背景 (1)1.2目的和意义 (1)1.3开发工具及技术 (1)1.3.1开发工具 (1)1.3.2 Android平台及java语言 (2)1.3.3 Android四大组件 (3)1.3.4 sqlite3 数据库 (3)1.4软硬件需求 (4)第二章需求分析 (5)2.1可行性论证 (5)2.1.1技术的可行性 (5)2.1.2经济的可行性 (5)2.1.3操作可行性 (5)2.1.4法律的可行性 (5)2.2软件的基本功能要求 (6)2.3功能模块架构 (7)2.4设计的基本思想 (8)2.5性能需求 (8)2.5.1系统的流畅性 (8)2.5.2数据的完整性 (8)2.6界面需求 (8)第三章软件分析与设计 (9)3.1软件总体结构设计 (9)3.2接口设计 (11)3.2.1外部接口 (11)3.2.2 内部接口 (11)3.3 数据库设计 (11)3.3.1 数据库的概念结构设计 (11)3.1.2数据库的逻辑结构设计 (13)3.4 代码与软件维护设计 (15)第四章软件功能实现 (16)4.1软件欢迎界面的实现 (16)4.2书架界面的实现 (19)4.2.1点击本地文件浏览本地文件系统的实现 (19)4.2.2点击电子书添加到书架的实现 (22)4.2.3管理书架电子书的实现 (27)4.2.4显示电子书信息的实现 (29)4.3分享功能的实现 (32)4.3.1分享软件的实现 (32)4.3.2分享电子书的实现 (33)4.4电子书阅读主界面的实现 (34)4.4.1阅读主界面及翻页操作的实现 (34)4.4.2设置阅读风格实现 (38)4.4.3调整阅读字体大小的实现 (41)4.4.4关键字搜索的实现 (43)4.4.5书签管理的实现 (45)第五章系统测试 (49)5.1系统测试目的与意义 (49)5.2测试过程 (49)5.2.1健全性测试 (49)5.2.2稳定性测试 (50)5.2.3性能测试 (51)5.2.4 MTBF测试 (51)5.3测试总结 (51)结论 (52)参考文献 (53)致谢 (54)附录Ⅰ外文资料翻译(中) (59)附录Ⅱ数据库代码 (62)第一章前言1.1课题背景在这个信息化的时代,IT业已经成为世界发展的主流,我们对信息技术的依赖远远超过了对我们自己的依赖,计算机和手机已经成为我们日常生活中不可缺少的获得信息的渠道。

基于Android阅读器的设计与实现.

基于Android阅读器的设计与实现.
2.3 系统的开发坏境
2.3.1 Android 系统架构
Android是一种以Linux为基础的开放源代码操作系统,主要用于移动设备,android的系统架构采用了分层的架构,分为四层,分别为应用程序层、应用程序框架层、系统运行库层和Linux内核层。
2.3.2开发平台:Eclipse IDE for java Developers
2.3.4网络坏境:Tomcat服务器
2.3.3数据库:ORຫໍສະໝຸດ CLEOracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。
2.正文
2.1需求规定
现在市场上的阅读器种类非常多,对校园里的学生进行了问卷调查,根据问卷调查的结果,现在人们阅读器的需求基本是以TXT为主,对于小说的选择,基本基于作者和阅读器首页的推送。大致的小说的总类可以分类:1.言情,2.武侠,3.穿越重生,4.耽美,5.欢脱向,7.BE 8.HE。阅读器主要是手机应用,针对的是广大使用手机的用户,软件的页面要设计的符合人们看手机时的习惯。
Keywords:Android reader, bookmarks, data analysis
1.引言
随着手机的大面积普及,越来越多的人们开始在手机上阅读书籍。一个轻薄的手机就可以取代厚厚的书籍,让人们在阅读书籍时倍感轻松,同时电子书籍的价格一般都非常低甚至免费,人们只需要花少量的钱财就可以得到巨大的精神财富。电子书籍的这些特性都成为了它备受人们喜爱的理由。电子书籍以手机阅读器为媒介呈现在人们眼前,手机阅读器决定了电子书籍的呈现姿态,书籍的排布,字体的大小,字体的颜色等等。因此,人们对于手机阅读器需求非常大,现在市场上手机阅读器的种类繁多,主要以可以打开TXT类型的电子书的阅读器为主。但现在市面上用于打开PDF,,UMD,JAR,DOS格式小说的小说阅读器只占一小部分。

毕业设计(论文)Android手机电子书阅读器的设计与实现

毕业设计(论文)Android手机电子书阅读器的设计与实现

毕业设计(论文)Android手机电子书阅读器的设计与实现毕业设计(论文)Android手机电子书阅读器的设计与实现UNIVERSITY OF TECHNOLOGY毕业设计题目 Android手机电子书阅读器的设计与实现学生姓名学号 00101106专业班级通信工程指导教师学院通信学院答辩日期 2012年10月11日Android手机电子书阅读器的设计与实现The design and Implementation of the Android mobile phone e-book readerXxx摘要在这个信息化的时代计算机越来越精致手机也越来越智能化所以一个较好的应用软件在很大程度上能提升一个手机的品牌而在智能手机上安装一个拥有丰富功能支持的电子书阅读器更是我们刻不容缓的事情本设计采用Android平台根据对手机电子书阅读器的客户需求分析和技术可行性分析经过总体设计和详细设计编码测试等阶段完成了电子书阅读器软件的设计不仅实现了电子书阅读器最基本的阅读功能而且还为用户提供了丰富的功能支持包括找书书签自动翻页以及阅读界面设置的操作而本次设计最大的特点则是通过屏幕触控实现了移动时的翻页特效经过不断的测试与完善电子书阅读器功能稳定并且在真机上对其进行了测试与验证基本上达到了用户的需求标准关键词 Android电子书阅读器屏幕触控翻页AbstractIn the time of information technology with the increasingly sophisticated of computers and more and more intelligent of mobile phones a better application software can enhance a brand of the phone to large extent It is our urgent for us that installed on the smart-phone has a rich functionality to support the e-book readerBased on the needs analysis of customers and technical feasibility analysis I use the Android platform to achieve the design of mobile phones e-book reader After completing the overall design and detailed design coding testing stage I achieved the design of the e-book reader softwareNot only can the soft achieve the basic function of E-book readerbut also offer many other functions for users including books and bookmarks flipping pages automatically and designing the reader The significant character of the design achieve the flipping page of mobile by touching screen Through continuous testing and improvement E-book reader is stable The testing and verification in real device has carried out to meet the customers requirements which have reached the standards of the customers requirementsKey words Android e-book Reader Touch Screen Flip目录第1章前言 111 课题提出的背景目的及意义 1com 课题提出的背景 1com 课题提出的目的 1com 课题提出的意义 112 设计思路及研究方法 2com 设计思路 2com 研究方法 2第2章需求分析 321 软件的基本功能要求 322系统架构 423 开发环境 4第3章软件设计 6 31 总体软件结构设计 6 32 接口设计 7com 外部接口 7com 内部接口 833 数据库设计 8com 数据模式设计 8 com 数据表格设计 8 com 表的具体设计 9 com 数据字典 1034 软件设计模型 10 35 代码设计 1236 软件维护设计 12 第4 章系统功能模块的设计与实现 1341 关键技术 13com android平台及java语言 13com 中介软件 13com 四大组件 14com sqlite3 数据库 14 com Tomcat服务器 14 42 欢迎界面的实现 15 43 主控制类的实现 1544工具类的设计 1645 阅读界面的实现 1646 找书功能的实现 1847 书签功能的实现 1948 设置字体大小功能的实现 20 49 更换背景图片以及设置字体颜色功能的实现 21410 音乐播放功能的实现 21 第5章系统测试 2251 欢迎界面 2252 用户阅读界面 23毕业设计总结 32参考文献 33附录一核心代码 34附录二毕业设计外文翻译英文 36 附录三毕业设计外文翻译中文 44 致谢51第1章前言11 课题提出的背景目的及意义com 课题提出的背景在这个信息化的时代 IT业已经成为世界发展的主流我们对信息技术的依赖远远超过了对我们自己的依赖计算机和手机已经成为我们日常生活中不可缺少的获得信息的渠道正因为如此各种各样的软件层出不穷我们的生活也因为各种各样的软件变的更有滋有味不缺乏娱乐性也不缺乏教育意义让我们从这些软件中受益匪浅使我们看到了相比以前的巨大进步同时随着科技的发展计算机越来越精致手机也越来越智能化所以我们的依赖性也越来越大越来越离不开这些给我们提供日常信息的工具手机也已不再仅仅是简单的人与人通话的工具而是在很大程度上成为了我们获取信息的一个更好的渠道一个好的软件能够标志一个手机品牌的地位所以开发一款好的手机软件是相当必要的以前我们看看杂志小说都要去图书馆借阅而且时间有限很不方便而现在是在电脑上或者手机上看杂志看小说文档以此看来一个好的手机阅读器软件的开发是相当有必要的com 课题提出的目的此次设计的目的很明显就是给予阅读者更大的便利性阅读者不用再到处拿着一本厚厚的书籍大大减少了读者的负担只需要下载一本txt格式的电子书放在sd卡里边就是人们的生活百科当然有些下载不来的资料还是需要翻阅书籍的com 课题提出的意义计算机改变了人类的工作方式互联网创造着全新的生活空间我们接受信息的方式也正在发生深刻的质变由于现在阅读器的越来越普及我们每天清晨读报的习惯也在面对大资讯量的新闻网站时渐渐淡化面对印刷出版物我们仍视之为文化传承的载体但不可抵挡的是无纸化电子阅读时代的悄然临近我们现在信息化的生活充斥着信息的传递但是越来越多的人依赖于几乎朝夕相伴的手机虽然现在也出现了供人们阅读使用的电子书但是这些电子书的功能很少很简单仅仅是简简单单的供人们一行一行的阅览文字信息或者是仅仅添加一个添加书签的小功能根本远远不能满足人们的需求于是一个功能良好的全面的电子书阅读器越来越成为广大用户的追求本软件是基于android系统智能手机开发的一款电子书阅读器软件它有一个阅读主界面主要用来阅读文档其优越性表现在实现了从SD卡读取文档或从服务器端下载文档自动翻页添加书签选择书签清空书签设置背景音乐设置背景图片设置字体颜色设置字体大小等功能此外给用户更清晰方便的界面也是本软件的出发点之一12 设计思路及研究方法com 设计思路阅读器的设计流程主要是按照软件设计的一般流程需求分析概要设计详细设计测试与维护的基本流程来设计开发的首先从整体分析软件功能将功能模块化然后对每个模块进行调试最后对各个模块进行系统集成通过几个月的观察发现几乎所有的人都有手机而且几乎有一半以上的人用手机来阅读资料可是这些阅读软件不尽人意而且一个好的阅读软件也还没有安装在智能手机上本系统针对这一点进行了较仔细的分析在老版的阅读软件基础之上进行改进最后对系统进行了实现和维护com 研究方法本系统在整体框架研究方法采用的是问卷调查法和观察研究法而在总体设计上采用的是结构化方法在局部底层开发上为便于交流采用快速原型法问卷调查法也称问卷法它是调查者运用统一设计的问卷向被选取的调查对象了解情况或征询意见的调查方法观察研究法指根据既定的研究目的对现象或行为做有计划与有系统的观察并依观察的记录对现象或行为做客观性的描述和解释结构化系统的设计方法是在结构化程序设计思想基础上发展起来的它的基本涵义是一个系统由层次化的程序模块构成每一个模块只有一个入口和一个出口每一个模块只归其上一级模块调用并有模块连接的准则和构造模块的标准而且用系统结构图来表达系统的结构尽可能用最优的方式将系统内各部分组织起来第2章需求分析21 软件的基本功能要求经过以上问卷调查和观察研究方法在现行业务流程和数据分析的基础上基本上确定了系统的功能设计也基本上达到了目标根据软件设计的步骤需求分析是软件设计成功的基础也是必不可少的步骤同时也对软件的设计提出了具体的要求在做足了充分的调查研究之后基本可以确定软件的功能界面如下1刚打开软件时的欢迎动画界面2在没有阅读记录情况下打开软件时进入的软件说明界面3在主界面下单击菜单按钮后弹出的欢迎主菜单界面4找书选择界面用来选择找书的途径5网络下载列表界面用来列出服务器端可供下载的文档6下载完成提示界面用户从服务器端完成指定文档下载任务时显示的界面7已存在要下载文件提示界面当用户指定要下载的文档在SD卡中已存在时显示的界面8SD卡文件列表界面列出SD卡中存在的所有资料9阅读界面用来阅读文档的主界面是整个阅读器设计核心部分10书签功能界面用来选择与书签相关的具体操作11添加书签功能界面将当前阅读到的位置以书签名和书页号的形式存至书签表方便下次阅读12选择书签功能界面通过选择书签记录跳转至想要阅读的位置13删除书签功能界面再不想要该条书签记录的情况下实现删除操作14自动翻页功能界面实现不同时间间隔自动翻页的效果15设置界面用来选择对阅读界面不同的设置16背景音乐界面可在阅读的同时欣赏音乐更大限度的提升17背景图片界面用来设置不同的阅读界面风格使阅读更为个性化18字体颜色界面用来设置不同的阅读字体颜色提升用户的视觉体验19字体大小界面通过设置字体大小来满足实际应用中的多重需求基本说明如下本系统是一个电子书阅读器主要包含一个主界面用来实现阅读的功能在阅读界面时点击menu手机底部会出现四个选项找书书签自动翻页设置点击找书选项会有两种操作可供选择分别是在SD卡中找书和通过网络下载点击书签选项会有三种操作可供选择分别为添加书签选择书签和清空书签其中长按选择书签列表中的某条书签记录也可达到删除该条记录的目的点击自动翻页选项会有四种操作可供选择分别为每隔30秒40秒50秒自动翻页和停止自动翻页点击设置选项会有四种操作可供选择分别为设置背景音乐设置背景图片设置字体颜色和设置字体大小为此用户可通过自己的喜好来设置不同阅读界面的风格并且可以选择自己喜爱的音乐作为背景音乐在阅读的同时欣赏22系统架构本设计总体逻辑结构层次划分如图21所示图21 功能结构图23 开发环境数据库由于本设计和数据库密切相关但是对数据库的要求不高因此可用Android系统本身自带的Sqlite数据库Android SDK与Eclipse开发的插件ADT由于本设计是基于Android系统的而Android开发环境的搭建是基于Eclipse 的因此需要下载Android SDK与Eclipse开发的插件ADT服务器由于本设计需要用服务器来为其提供下载服务而且对服务器的要求不高因此在设计时用Tomcat作服务器软件设计31 总体软件结构设计打开电子书阅读器之后软件会先查看上次阅读的最后记录以此作为根据来进行判断从而跳转至相应的阅读界面然后用户就可在阅读界面下通过选择menu来执行想要的操作找书书签自动翻页设置点击找书选项会有两种操作可供选择分别是在SD卡中找书和通过网络下载点击书签选项会有三种操作可供选择分别为添加书签选择书签和清空书签其中长按选择书签列表中的某条书签记录也可达到删除该条记录的目的点击自动翻页选项会有四种操作可供选择分别为每隔30秒40秒50秒自动翻页和停止自动翻页点击设置选项会有四种操作可供选择分别为设置背景音乐设置背景图片设置字体颜色和设置字体大小为此用户可通过自己的喜好来设置不同阅读界面的风格并且可以选择自己喜爱的音乐作为背景音乐在阅读的同时欣赏根据各个模块的不同功能对本设计进行了层次结构的划分在Eclipse下创建了一个名为Test的工程工程的结构图如图31图31 软件工程结构图该功能包是通过Android SDK自动生成的主要包括以下内容1src源代码目录该目录存放Android应用程序所有的源代码该目录项有不同的包包中对应开发的源代码开发过程中的主要精力都集中在开发src目录下内容2gen文件夹目录该目录存放了Eclipse的ADT插件自动生成的Rjava文件实际上Rjava定义了一个R类它包含了应用中用户界面图像字符串等各种资源与之相对应的资源编号id这些资源编号都是系统自动生成的即有一资源对象系统就为此在R类中生成相应资源编号好比一本字典3Res资源目录该目录定义了drawablelayout及values 3个目录a drawable目录该目录下有drawable-hdpidrawable-ldpidrawable-mdpi3个文件夹分别用来存放不同分辨率的图片资源用于不同分辨率的手机的开发可以通过ResourcegetDrawable id 获得该资源b layout目录该目录下包含了所有使用XML格式的界面描述文件主要用于表述应用程序的用户界面布局也用于描述用户界面和接口组件c values目录该目录包含了使用XML格式的参数描述文件也可以在此添加一些额外的资源如字符串颜色样式和数组等主要用于在代码中通过R类来调用它们而不直接使用这样可将代码和资源分开管理便于维护除了以上文件夹外还用一个AndroidManifestxml文件该文件是系统的控制文件告诉系统如何处理创建的所有顶层项目尤其是Activity凡是需要用到的组件都要在此注册同时该文件也是所有Android应用程序都需要的文件其描述了程序包的全局变量包括公开的应用程序组件和每个组件的实现类什么样的数据可以操作在什么地方可以运行等在这个文件中最重要的一个内容就是Intent过滤器这些过滤器描述了何时何种情况下让Activity启动当一个Activity或操作系统想要执行一个动作它将创建一个Intent对象该对象包含了很多描述符描述了想做的操作像处理数据数据的类型以及一些其他的信息Android将Intent对象中的所有公开的Intent过滤器比较找到一个最能恰当处理请求的数据和动作的Activity32 接口设计com 外部接口在用户界面部分根据需求分析结果用户需要一个友善界面在界面设计上应做到简单明了易于操作并且要注意到界面的布局应突出的显示重要以及出错信息在界面设计部分本系统按照Microsoft公司的用户界面设计标准为用户提供友好方便直观简洁的操作环境本系统采用了窗口继承的方式使窗口有统一的界面风格同时对错误信息提示信息进行标准化尽量做到清晰明了com 内部接口系统在功能模块的设计上以高内聚低耦合为设计目标内部接口方面各模块之间采用函数调用参数传递返回值的方式进行信息传递具体参数的结构将在下面数据结构设计的内容中说明接口传递的信息将是以数据结构封装的数据参数传递或返回值的形式在各模块间传递33 数据库设计com 数据模式设计一共设计了3张表是1阅读记录表阅读记录的ID书的路径阅读记录数据2书签表书签的ID书签对应的阅读记录的ID书签名书页3上次阅读记录表上次阅读记录的ID书的路径上次阅读到的书页上次阅读时的字体数据库表的设计如下图32 数据库结构图com 数据表格设计本数据库用的是一个小型数据库sqlite3在数据库中创建了三个表格即BookRecordBookMark和LastTimePage分别用来存放阅读记录的数据书签的数据和上次的阅读记录数据具体内容如表3-1表3-2和表3-3所示表3-1 阅读记录表字段名称数据类型字段大小是否主键说明 rid Integer8 是阅读记录的ID path 文本 50 否书的路径 data字节数组不定否预读记录数据表3-2 书签表字段名称数据类型字段大小是否主键说明 mid Integer8 是书签的ID ridfk Integer 8 否书签对应的阅读记录的ID bmname 文本50 否书签名 page Integer 8 否书页表3-3 上次阅读记录表字段名称数据类型字段大小是否主键说明 lid Integer8 是上次阅读的记录ID path 文本 50 否书的路径page Integer 8 否上次阅读到的页数 fontsize Integer8 否上次阅读的字体大小 com 表的具体设计表名BookRecord表中字段名称rid path data说明用varchar类型存储pathblob类型存储相应的路径下的阅读过程并规定rid为阅读记录表的主键表名BookMark表中字段名称mid ridfk bmname page说明创建书签mid为integer类型主键定义书签名字bmname为varchar类型书页号page为integer类型的书签表表名LastTimePage表中字段名称lid path page fontsize说明创建书签lid为integer型主键定义路径path为varchar类型书页号page为integer类型字体大小为integer类型的上次阅读记录表com 数据字典数据字典是物理数据库的具体体现表3-4 BookRecord数据字典字段名类型阅读记录的ID 整型书的路径文本阅读记录数据字节数组表3-5 BookMark数据字典字段名类型书签的ID 整型书签对应的阅读记录的ID 整型书签名文本书页整型表3-6 LastTimePage数据字典字段名类型上次阅读记录的ID 整型书的路径文本上次阅读到的页数整型上次阅读时字体大小整型 34 软件设计模型建立系统数据模型的主要工具是实体关联图即E-R图E-R图的图形符号约定如下表表3-7 E-R图图形符号图33 存储阅读记录的E-R图图34 存储书签的E-R图图 35 存储上次阅读记录的E-R图35 代码设计代码是按使用的目的表示识别分类排序数据的数字文字或符号识别是将文件中存储数据区别开或将文件中的数据按组区别开识别主要用数据更新与查找分类是根据数据编码中的定义对数据分类用于检索数据或统计分析排序是根据编码规则按代码中规定的次序排序用于输出与生成报表36 软件维护设计采用MVC设计模式将UI层和业务逻辑层分离开来采用针对接口编程的方式降低了代码之间的耦合度便于软件的升级和程序性能的优化第4 章系统功能模块的设计与实现41 关键技术com android平台及java语言以下图表展示了Android操作系统的主要组成部分图41 Android系统架构图本系统是以java为编程语言从接口到功能灵活多变主要运用的是Activity之间的相互跳转然后利用Intent实现多个程序同时运行的效果运行中如果某个Activity的画面被另一个Activity所取代则这个Activity停止本系统通过把View类与XML可扩展标记语言将用户界面放置在视图窗口然后注册事件来完成相应的功能例如当视图要处理用户的点击事件的时候android就要向框架注册一个OnClickListener等本系统中触发事件都是通过这种来实现的 Java语言是一种简单易用面向对象的可移植的语言它具有很多的优越性和特点比如平台无关性安全性面向对象健壮性等等本系统就是在android平台上使用java语言完成的系统com 中介软件中介软件是android操作系统应用程序的桥梁主要分为函数和虚拟机Android 的数据存储采用sqlite3数据库系统用户可以用ContentProvider类获取数据android中数据存储技术主要有文件存储preferencesqliteContentProvider和网络存储在本软件中主要使用到了文件存储sqlite和ContentProvider文件存储是以流的形式读写文件可以以文格的格式也可以以二进制的形式在java语言中要使用流则写入文件的对象必须进行序列化sqlite是嵌入式移动设备中常用的轻量级数据库可看作计算机上使用的sql serveroracle数据库本软件中用户生词本中的数据都存在sqlite数据库中而进行数据备份和恢复时则是用文件作为介质保存数据com 四大组件Android的四大组件是支持android应用程序显示跳转服务和事件的重要工具它们主要是Activity活动Intent意图Service服务ContentProvider内容提供器Activity是一个用户的界面基类属于UI一个Activity就是一个类每个Activity 类都需要继承Activity基类并与其他控件结合使用Intent实现Activityservice等之间的跳转和数据传输Service是后台服务为用户提供数据支持ContentProvider负责数据的存储和读取在android中软件UI通常使用xml技术设计而xml中控年的位置和状态则离不开布局的使用android中常用的布局有5种分别是AbsoluteLayoutLinearLayoutRelativeLayoutFrameLayoutTableLayout由于布局的使用并且布局之间可以互相嵌套使得android软件UI的设计变得非常灵活即使是一些非常复杂的界面设计只要合理的使用布局也会使开发变得很容易com sqlite3 数据库Sqlite3是建立在android平台上的一个数据库除了支持varcharn可变字符charn定长字符等数据特性外还支持空NULL整型INTEGER文本类型TEXT等数据类型它的特点入下轻量级只需带上很小的动态库就能享受它的全部功能独立性使用不需要安装在部署的时候能省去很多麻烦隔离性数据库中所有的信息都包含在一个文件内方便管理和维护和安全性可以同时读取数据但同时只有一个能够写入数据等特性com Tomcat服务器服务器的架设在httptocom下载合适版本的Tomcat在apache-tomcat-comwebapps目录下新建文件夹txt在txt文件夹下创建文本文件txt_listtxt在txt_listtxt下写入内容根据txt_listtxt的内容创建文本打开pache-tomcat-combin目录打开pache-tomcat-combin目录下的startupbat8打开浏览器在地址栏输入httplocalhost8088效果如图42所示图42 bin目录图42 欢迎界面的实现本模块主要完成阅读器欢迎界面的渐变效果显示在进入程序界面时首先调用该功能的实现主要是通过绘制黑色矩形然后对其进行平面贴图并通过不断的更改图片的透明值来实现的43 主控制类的实现ReaderActivity类是主要控制程序运行的类实现了各个界面的有序切换各个按钮和对话框的监听事件加载了程序中用到的相关资源有效地控制了程序的运行1onCreate方法是程序运行时进入主界面前调用的方法在此方法中对程序中用到的相关变量进行赋值并为相关类创建对象以方便调用2onKeyDownf方法是重写父类的onKeyDown方法当按下不同的键时此方法设计返回键4号键和Menu键82号键并且本设计中支持屏幕触控事件和键盘监听事件3onCreateOptionsMenu方法表示的是程序运行时用户按下键盘上的Menu键后显示的找书书签自动翻页和设置的按钮选项当用户按下不同的键后弹出相应的对话框4sendMessage方法表示各个界面相互跳转时调用的方法和不同线程之间传递消息的方法5isWhichTime方法用以判断是否为第一次打开程序如果是则程序中的变量值为默认值若不是第一次打开则获取上一次打开时设置的值saveCurrentData和savePreference方法表示当程序退出换书和第一次打开一本书时都要想数据库中BookRecord表中插入数据第一次打开一本书时向数据库中插入数据是因为如果表中不存在当前书的信息则无法存书签44工具类的设计。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

手机应用开发(论文)题目:院(系):专业班级:姓名:学号:指导教师:年月日摘要本文主要阐述了基于Android的阅读器的设计与实现。

本阅读器能够显示文本,能够选择不同的文章,文章至少有5篇;每篇文章可以通过上下调整滚轴来控制浏览文章的不同部分;用户可以调整文章的大小。

关键字Android 阅读器滚轴目录一、引言 (1)1.1 研究设计内容 (1)1.2系统开发环境 (1)二、相关技术简介 (1)三、系统分析 (2)3.1 阅读器显示需求 (2)3.2 系统功能模块需求图 (3)四、系统设计 (4)4.1系统框架 (4)4.2功能模块设计 (4)4.3 UI设计 (5)五、系统实现 (6)5.1界面实现 (6)5.2 系统实现 (6)六、运行结果 (8)6.1 主界面运行结果 (8)6.2 文章显示界面运行结果 (9)6.3 改变字体大小后的文章显示界面 (10)七、结论 (11)参考文献 (12)一、引言1.1 研究设计内容本文设计了基于Android的阅读器。

本阅读器能够显示文本,能够选择至少5篇不同的文章,每篇文章都可以通过上下调整滚轴来控制浏览文章的不同部分,而且用户户可以通过按钮调整文章的大小,以适合自己阅读。

1.2系统开发环境本系统采用Android Studio进行开发,以Java作为开发语言二、相关技术简介开发基于Android的阅读器,需要一定的技术作为支持。

首先,需要Android的UI界面设计知识。

开发者能够使用Android基本知识进行应用程序界面设计,给予用户良好的体验。

其次,开发者需要掌握Java编程语言。

Android应用程序的实现需要以Java语言作为基础,用以控制Android界面进行相应的交互响应等。

在Android设计知识中,开发者要懂得文章的存储和读取,能够将文章显示在屏幕上,并使用户进行滑动等操作,以方便阅读。

然后,开发者能够在文章合适的位置显示垂直滚动条,这样,用户可以直接通过拖到滚动条快速的到达自己想要阅读的地方。

而Android地基本控件中只有水平的滚动条,因此,需要开发者能够设计出垂直的滚动条,并且能够将滚动条与滑动视图ScrollView连接起来,以做到滑动文章滚动条会随之改变,拖到滚动条会显示文章的相应部分内容。

2.1 文件存储阅读器需要显示大篇的文章,因此将文章固定嵌入到TextView 中显示的方法并不可行。

因此,阅读器采用文件存储的方式,将文章作为一个文件整体,存储在文件夹中。

本次实验采用assets文件存储的方式,将文章都存储在assets文件夹中,TextView从assets 中读取相应的文章,并按原样内容显示在屏幕上。

2.2 垂直滚动条VerticalSeekBar因为系统中没有垂直滚动条,所以垂直滚动条需要开发者设计画出。

在本次设计中,阅读器导入了开源库VerticalSeekBar,将已有的垂直滚动条直接运用到开发实验中。

2.3 ScrollView和VerticalSeekBar相互绑定本次阅读器中增加了控制文件SrollBindHelper.java,用于绑定ScrollView和VerticalSeekBar,从而实现滑动文章时改变滚动条,并且拖到滚动条时可以阅读文章的不同部分。

三、系统分析3.1 阅读器显示需求阅读器显示需要包括文章显示、文章滑动和字体大小设置等功能,用例图具体设计如下图所示。

图3-1 用例图3.1.1文章显示阅读器需要显示不同的文章,因此文章是通过存储在本地资源assets文件夹中实现的。

显示文章时从assets文件夹中读取文件并显示。

3.1.2 文章滑动由于要通过调整滚轴阅读文章的不同部分,因此,阅读器通过垂直滚动条VerticalSeekBar实现。

用户可滑动文章阅读文章的不同部分,每篇文章也都可以通过上下拖到垂直滚动条来控制浏览文章的不同部分。

3.1.3字体大小设置用户要调整文章的大小,因此,阅读器可通过按钮Button和Intent页面传值实现的。

用户通过选择不同的按钮与阅读器进行交互,通过Intent将字体大小状态state值传入文章显示页面。

3.2 系统功能模块需求图阅读器的功能模块包括文章显示、文章滑动和字体大小设置三种。

阅读器的系统功能模块图如下所示。

图3-2 系统功能模块图四、系统设计4.1系统框架本系统由界面文件和控制文件组成。

界面文件用于设置阅读器的UI布局设计显示,控制文件用于实现相应控件的响应事件以及控件的实现。

4.2功能模块设计阅读器总共有个三个功能模块,分别是文章显示功能模块、文章滑动功能模块和设置字体大小模块。

4.2.1 文章显示模块阅读器能够显示不同的文章,点击文章标题后进入文章的显示。

在文章的显示页面中,阅读器从资源库assets文件中读取已存储的文章,并将其显示在TextView中。

4.2.2 文章滑动阅读器使用基本控件ScrollView使过长的文章可以得到全部的显示。

但ScrollView仅能滑动文本,因此,在阅读器中添加了自定义的垂直滚动条VerticalSeekBar。

阅读器可以实现在用户滑动文章时自动改变滚动条VerticalSeekBar的值,而且用户拖到滚动条VerticalSeekBar时,也可以显示文章的相应部分内容。

4.2.3 设置字体大小阅读器中设置三个按钮,“小”、“中”、“大”。

点击不同的按钮,文章的字体大小也将随之改变。

在MainActivity.java文件中设记录子大小的状态值state,在跳转到文章显示页面时,相应的将状态值state传入到文章显示页面,根据state的值,设置文章的显示字体大小。

4.3 UI设计UI设计包括主界面设计和文章显示界面。

主界面包括五个文章标题和三个设置字体大小按钮。

文章显示界面包括TextView和垂直滚动条VerticalSeekBar。

4.3.1主界面1)布局采用的是LinearLayout2)用TextView组件显示文章的标题3)用Button实现字体大小设置的选择4.3.2文章显示界面1)用TextView显示文章内容2)用ScrollView实现页面的滑动3)用自定义的垂直滚动条VerticalSeekBar显示页面滑动情况五、系统实现系统实现分界面实现和系统实现两部分分别阐述,界面实现主要介绍UI界面设计文件的实现,系统实现主要介绍控制文件的实现。

5.1界面实现界面实现主要有主界面activity_main.xml和文章界面(以文章1界面activity_one.xml为例)。

5.1.1 主界面activity_main.xml主界面总布局为LinearLayout,在LinearLayout中添加六个TextView、一个嵌套的LinearLayout布局。

在嵌套的LinearLayout 布局中,添加三个Button。

采用五个TextView分别显示5篇文章的标题,并设置TextView 可点击,当点击TextView时,在控制文件中执行相应的程序跳转到文章显示页面。

之后,采用一个TextView提示用户字体大小设置的地方。

添加三个Button,分别显示“小”、“中”、“大”。

5.1.2 文章1界面activity_one.xml界面总布局为RelativeLayout,在RelativeLayout中采用NestedScrollView和RelativeLayout布局。

在NestedScrollView 中,添加一个TextView,用于显示文章。

在RelativeLayout布局中添加VerticalSeekBar,用于显示垂直滚动条。

5.2 系统实现系统实现主要有主界面控制文件 MainActivity.java、文章显示界面控制文件(以文章1为例)OneActivity.java、ScrollView与VerticalSeekBar相连接的控制文件SrollBindHelper.java和垂直滚动条VerticalSeekBar的两个控制文件。

5.2.1 MainActivity.java1.字体大小按钮的点击事件点击其中一个按钮,在相应的响应事件中,设置字体大小状态state 的值。

2. 文章标题的点击事件阅读器需要选择不同的文章,因此,当点击不同的文章标题时,实现相应文章的显示。

在该控制文件中,单独设置每个文章标题事件的产生。

点击文章1 时,点击事件响应中跳转到文章1的控制文件OneActivity.java,并传入state的值用于改变文章大小。

5.2.2 OneActivity.java1.从assets文件中读取文章通过getAssets().open("article1.txt")获得article1.txt的内容到输入流InputStream中,保存到缓冲区buffer中。

通过read(buffer)显示文章内容,显示完之后通过close()关闭文章。

2.实现文章滑动同步显示定义滚动条SeekBar和滑动控件ScrollView的对象,通过调用ScrollBindHelper.bind(seekBar, scrollView)实现文章滑动和滚动条的同步显示。

5.2.3 SrollBindHelper.java1.滑动文章时改变滚动条通过onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY)获得滑动视图ScrollView的滑动位置,并改变滚动条SeekBar 的值,从而改变滚动条SeekBar。

2.滚动条改变时显示文章的不同部分通过onProgressChanged(SeekBar seekBar, int progress, boolean fromUser)获得滚动条SeekBar的滚动比值,并显示文章的相应部分内容。

5.2.4 垂直滚动条VerticalSeekBar1.控制文件VerticalSeekBar.java对滚动条进行初始化,实现滑块、进度条等设置,并实现相应的点击事件。

2.控制文件VerticalSeekBarWrapper.java垂直滚动条适配器。

实现用户改变滚动条时的操作六、运行结果6.1 主界面运行结果在主界面中,有五个文章标题,点击文章标题,会跳转相应的文章显示界面。

在主界面下方,有三个按钮,分别标示“小”、“中”、“大”。

点击按钮,会改变文章的字体大小。

主界面的运行结果图如下图所示。

图6-1 主界面运行结果图6.2 文章显示界面运行结果在文章显示界面中,有一个TextView,从assets读取的文章会显示在TextView中。

相关文档
最新文档