毕业设计论文Android手机电子书阅读器的设计与实现Word下载.docx
- 文档编号:20817410
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:27
- 大小:40.53KB
毕业设计论文Android手机电子书阅读器的设计与实现Word下载.docx
《毕业设计论文Android手机电子书阅读器的设计与实现Word下载.docx》由会员分享,可在线阅读,更多相关《毕业设计论文Android手机电子书阅读器的设计与实现Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
可行性分析经过总体设计和详细设计编码测试等阶段完成了电子书阅读器软件
的设计不仅实现了电子书阅读器最基本的阅读功能而且还为用户提供了丰富的
功能支持包括找书书签自动翻页以及阅读界面设置的操作而本次设计最大的特
点则是通过屏幕触控实现了移动时的翻页特效经过不断的测试与完善电子书阅
读器功能稳定并且在真机上对其进行了测试与验证基本上达到了用户的需求标
准
关键词Android电子书阅读器屏幕触控翻页
Abstract
InthetimeofinformationtechnologywiththeincreasinglysophisticatedofcomputersandmoreandmoreintelligentofmobilephonesabetterapplicationsoftwarecanenhanceabrandofthephonetolargeextentItisoururgentforusthatinstalledonthesmart-phonehasarichfunctionalitytosupportthee-bookreader
BasedontheneedsanalysisofcustomersandtechnicalfeasibilityanalysisIusetheAndroidplatformtoachievethedesignofmobilephonese-bookreaderAftercompletingtheoveralldesignanddetaileddesigncodingtestingstageIachievedthedesignofthee-bookreadersoftware
NotonlycanthesoftachievethebasicfunctionofE-bookreaderbutalsooffermanyotherfunctionsforusersincludingbooksandbookmarksflippingpagesautomaticallyanddesigningthereaderThesignificantcharacterofthedesignachievetheflippingpageofmobilebytouchingscreenThroughcontinuoustestingandimprovementE-bookreaderisstableThetestingandverificationinrealdevicehascarriedouttomeetthecustomersrequirementswhichhavereachedthestandardsofthecustomersrequirements
KeywordsAndroide-bookReaderTouchScreenFlip
第1章前言1
11课题提出的背景目的及意义1
com课题提出的背景1
com课题提出的目的1
com课题提出的意义1
12设计思路及研究方法2
com设计思路2
com研究方法2
第2章需求分析3
21软件的基本功能要求3
22系统架构4
23开发环境4
第3章软件设计631总体软件结构设计632接口设计7
com外部接口7
com内部接口8
33数据库设计8
com数据模式设计8com数据表格设计8com表的具体设计9com数据字典10
34软件设计模型1035代码设计12
36软件维护设计12第4章系统功能模块的设计与实现13
41关键技术13
comandroid平台及java语言13
com中介软件13
com四大组件14
comsqlite3数据库14comTomcat服务器1442欢迎界面的实现1543主控制类的实现15
44工具类的设计16
45阅读界面的实现16
46找书功能的实现18
47书签功能的实现19
48设置字体大小功能的实现2049更换背景图片以及设置字体颜色功能的实现21
410音乐播放功能的实现21第5章系统测试22
51欢迎界面22
52用户阅读界面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数据库
AndroidSDK与Eclipse开发的插件ADT
由于本设计是基于Android系统的而Android开发环境的搭建是基于Eclipse的因此需要下载AndroidSDK与Eclipse开发的插件ADT
服务器
由于本设计需要用服务器来为其提供下载服务而且对服务器的要求不高因此在设计时用Tomcat作服务器
软件设计
31总体软件结构设计
打开电子书阅读器之后软件会先查看上次阅读的最后记录以此作为根据来进行判断从而跳转至相应的阅读界面然后用户就可在阅读界面下通过选择menu来执行想要的操作找书书签自动翻页设置点击找书选项会有两种操作可供选择分别是在SD卡中找书和通过网络下载点击书签选项会有三种操作可供选择
分别为添加书签选择书签和清空书签其中长按选择书签列表中的某条书签记录也可达到删除该条记录的目的点击自动翻页选项会有四种操作可供选择分别为每隔30秒40秒50秒自动翻页和停止自动翻页点击设置选项会有四种操作可供选择分别为设置背景音乐设置背景图片设置字体颜色和设置字体大小为此用户可通过自己的喜好来设置不同阅读界面的风格并且可以选择自己喜爱的音乐作为背景音乐在阅读的同时欣赏
根据各个模块的不同功能对本设计进行了层次结构的划分在Eclipse下创建了一个名为Test的工程工程的结构图如图31
图31软件工程结构图
该功能包是通过AndroidSDK自动生成的主要包括以下内容
1src源代码目录该目录存放Android应用程序所有的源代码该目录项有不同的包包中对应开发的源代码开发过程中的主要精力都集中在开发src目录下内容
2gen文件夹目录该目录存放了Eclipse的ADT插件自动生成的Rjava文件实际上Rjava定义了一个R类它包含了应用中用户界面图像字符串等各种资源与之相对应的资源编号id这些资源编号都是系统自动生成的即有一资源对象系统就为此在R类中生成相应资源编号好比一本字典
3Res资源目录该目录定义了drawablelayout及values3个目录
adrawable目录该目录下有drawable-hdpidrawable-ldpidrawable-mdpi3
个文件夹分别用来存放不同分辨率的图片资源用于不同分辨率的手机的开发可以通过ResourcegetDrawableid获得该资源
blayout目录该目录下包含了所有使用XML格式的界面描述文件主要用于
表述应用程序的用户界面布局也用于描述用户界面和接口组件
cvalues目录该目录包含了使用XML格式的参数描述文件也可以在此添加一些额外的资源如字符串颜色样式和数组等主要用于在代码中通过R类来调用它们而不直接使用这样可将代码和资源分开管理便于维护
除了以上文件夹外还用一个AndroidManifestxml文件该文件是系统的控制文件告诉系统如何处理创建的所有顶层项目尤其是Activity凡是需要用到的组件都要在此注册同时该文件也是所有Android应用程序都需要的文件其描述了程序包的全局变量包括公开的应用程序组件和每个组件的实现类什么样的数据可以操作在什么地方可以运行等
在这个文件中最重要的一个内容就是Intent过滤器这些过滤器描述了何时何种情况下让Activity启动当一个Activity或操作系统想要执行一个动作它将创建一个Intent对象该对象包含了很多描述符描述了想做的操作像处理数据数据的类型以及一些其他的信息Android将Intent对象中的所有公开的Intent过滤器比较找到一个最能恰当处理请求的数据和动作的Activity
32接口设计
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阅读记录表
字段名称数据类型字段大小是否主键说明ridInteger
8是阅读记录的IDpath文本50否书的路径data
字节数组不定否预读记录数据表3-2书签表
字段名称数据类型字段大小是否主键说明midInteger
8是书签的IDridfkInteger8否书签对应的阅读记录的IDbmname文本50否书签名pageInteger8否书页
表3-3上次阅读记录表
字段名称数据类型字段大小是否主键说明lidInteger
8是上次阅读的记录IDpath文本50否书的路径
pageInteger8否上次阅读到的页数fontsizeInteger
8否上次阅读的字体大小com表的具体设计
表名BookRecord
表中字段名称ridpathdata
说明用varchar类型存储pathblob类型存储相应的路径下的阅读过程并规定rid为阅读记录表的主键
表名BookMark
表中字段名称midridfkbmnamepage
说明创建书签mid为integer类型主键定义书签名字bmname为varchar类型书页号page为integer类型的书签表
表名LastTimePage
表中字段名称lidpathpagefontsize
说明创建书签lid为integer型主键定义路径path为varchar类型书页号page为integer类型字体大小为integer类型的上次阅读记录表
com数据字典
数据字典是物理数据库的具体体现
表3-4BookRecord数据字典
字段名类型阅读记录的ID整型书的路径文本阅读记录数据字节数组表3-5BookMark数据字典
字段名类型书签的ID整型书签对应的阅读记录的ID整型书签名文本书页整型表3-6LastTimePage数据字典
字段名类型上次阅读记录的ID整型书的路径文本
上次阅读到的页数整型上次阅读时字体大小整型34软件设计模型
建立系统数据模型的主要工具是实体关联图即E-R图
E-R图的图形符号约定如下表
表3-7E-R图图形符号
图33存储阅读记录的E-R图
图34存储书签的E-R图
图35存储上次阅读记录的E-R图
35代码设计
代码是按使用的目的表示识别分类排序数据的数字文字或符号识别是将文件中存储数据区别开或将文件中的数据按组区别开识别主要用数据更新与查找分类是根据数据编码中的定义对数据分类用于检索数据或统计分析排序是根据编码规则按代码中规定的次序排序用于输出与生成报表
36软件维护设计
采用MVC设计模式将UI层和业务逻辑层分离开来采用针对接口编程的方式降低了代码之间的耦合度便于软件的升级和程序性能的优化
第4章系统功能模块的设计与实现
41关键技术
comandroid平台及java语言
以下图表展示了Android操作系统的主要组成部分
图41Android系统架构图
本系统是以java为编程语言从接口到功能灵活多变主要运用的是Activity之间的相互跳转然后利用Intent实现多个程序同时运行的效果运行中如果某个Activity的画面被另一个Activity所取代则这个Activity停止本系统通过把View类与XML可扩展标记语言将用户界面放置在视图窗口然后注册事件来完成相应的功能例如当视图要处理用户的点击事件的时候android就要向框架注册一个OnClickListener等本系统中触发事件都是通过这种来实现的Java语言是一种简单易用面向对象的可移植的语言它具有很多的优越性和特点比如平台无关性安全性面向对象健壮性等等本系统就是在android平台上使用java语言完成的系统
com中介软件
中介软件是android操作系统应用程序的桥梁主要分为函数和虚拟机Android的数据存储采用sqlite3数据库系统用户可以用ContentProvider类获取数据android中数据存储技术主要有文件存储
preferencesqliteContentProvider和网络存储在本软件中主要使用到了文件存储sqlite和ContentProvider文件存储是以流的形式读写文件可以以文格的格式也可以以二进制的形式在java语言中要使用流则写入文件的对象必须进行序列化sqlite是嵌入式移动设备中常用的轻量级数据库可看作计算机上使用的
sqlserveroracle数据库本软件中用户生词本中的数据都存在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的设计变得非常灵活即使是一些非常复杂的界面设计只要合理的使用布局也会使开发变得很容易
comsqlite3数据库
Sqlite3是建
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 Android 手机 电子书 阅读器 设计 实现