基于Android平台的手机电子书阅读器设计本科毕业论文.docx
《基于Android平台的手机电子书阅读器设计本科毕业论文.docx》由会员分享,可在线阅读,更多相关《基于Android平台的手机电子书阅读器设计本科毕业论文.docx(35页珍藏版)》请在冰点文库上搜索。
![基于Android平台的手机电子书阅读器设计本科毕业论文.docx](https://file1.bingdoc.com/fileroot1/2023-5/12/38cb5817-7866-4c48-a41f-9e1125d98f00/38cb5817-7866-4c48-a41f-9e1125d98f001.gif)
基于Android平台的手机电子书阅读器设计本科毕业论文
本科毕业论文
基于Android平台的手机电子书阅读器设计
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作与取得的成果。
尽我所知,除文中特别加以标注和致的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得与其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部容。
作者签名:
日 期:
学位论文原创性声明
本人重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体与大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
摘要
在科技日益发达的今天,社会竞争越来越激烈,这要求人们不断的摄取信息来充实自己。
要求人们能随时随地的了解并获取所需的信息。
在这种情况下,电子书阅读器刚好满足了人们便捷地获取信息的需求。
本文设计的手机电子书阅读器是基于Android平台设计的,Android平台是目前发展最快、最具市场前景的智能手机操作系统。
本系统是根据GoogleAndroid平台用户的喜好和其平台的特性而设计的,在
GoogleAndroid平台自带的SDK1.5环境下,运用Eclipse,Photoshop等相关工具进行开发的。
本文介绍了GoogleAndroid开发的流程,讨论了基于Android平台应用程序开发的关键技术,对手机电子书阅读器做了详细的需求分析,并重点介绍了基于Android平台的手机电子书阅读器的总体设计,主要包括手机电子书阅读器的架构设计、各功能模块的设计与实现。
本文设计的手机电子书阅读器通过了功能和性能方面的测试,证明了本文设计方案的可行性。
通过对基于Android平台手机电子书阅读器的设计与实现的介绍,希望能为今后开发出功能更强大的阅读器提供有益的借鉴。
关键词:
Android平台;电子书阅读器;Java
ABSTRACT
Today,it’samoreadvancedintechnology,increasinglycompetitivesociety,whichrequirespeopletotheintakeofinformationtoenrichthemselves.Requirespeopletoalwaysbeintheknowandgettherequiredinformation.Inthiscase,thenewsreaderjusttomeettheneedsofpeopleknowofexternalobjects.InthispapertheebookreaderismobilephonedesignbasedontheAndroidplatformofthedesign,Androidplatformisthefastestdeveloping,themostmarketprospectofsmartphoneoperatingsystem.
Inthissystem,GoogleAndroidplatformisbasedontheuser'spreferencesandcharacteristicsofitsplatformdesigned,inGoogleAndroidplatform,comeswithSDK1.5environment,theuseoftheEclipse,PhotoShopandothertoolsfordevelopment.ThisarticleintroducesthedevelopmentprocessoftheGoogleAndroid,discussestheapplicationdevelopmentbasedontheAndroidplatformofthekeytechnology,todoadetailedanalysisofthedemandforMobilephoneebookandintroducesthefocusonMobilephoneebookreaderoverall’sdesign.includestheebookreadermobilephonedesignmainly,architecturedesignandthefunctionofthesystem.
Inthispapertheebookreaderthroughmobilephonedesignofthefunctionandperformancetest,provedthefeasibilityofthisdesign.ThroughtotheAndroidplatformbasedonmobilephoneebookreaderdesignandimplementationoftheintroduction,thehopeforthedevelopmentinthefuturemorepowerfulofferbeneficialreferenceforthereader.
Keywords:
Android;E-bookreader;Java
绪论
手机已经成为了生活中不可缺少的通讯设备,没有手机有时会让人觉得寸步难行。
手机不仅具备传统的打、发短信等基本的功能,而且具有强大的处理能力和可扩展能力,能进行电子图书的阅览、基于3G网络实现高速数据传输、第三方浏览软件的运用等,越来越多的功能和业务将被开发出来并大规模的应用。
正基于此,Google于2007年11月5日宣布推出基于Linux平台的开源手机操作系统,号称首个为移动终端打造的真正开放和完整的移动软件——Android。
(一)课题研究背景与意义
当今社会手机是已经成为了生活中不可缺少的通讯设备,随着科技的发展手机的功能也越来越强大,手机电子阅读器是手机中的一种重要软件,其真正意义上指的是一个可以阅读设备,是专门用来阅读电子书的,随着二十一世纪数字信息化的不断兴起,电子阅读器的市场竞争也变得越来越激烈。
时下社会的进步更是让人们的生活越来越忙碌,抱着厚厚的书本穿梭于大街小巷已经不再适应这个忙碌的时代。
当人们奔波于不同的城市、出没在不同的场所、搭乘不同的交通工具的时候,手机电子阅读器就可以为人们提供方便快捷的阅读平台,它的作用就像一座桥梁,在我们不方便利用书本或者网络的时候提供一个更快更方便的平台,让人们能随时的阅读自己喜欢的电子图书。
就是因为手机电子阅读器方便快捷的优点,使得人们把用手机电子阅读器阅读阅读电子书当做当科技时代的一种时尚。
这也让手机电子阅读器在人们的生活中扮演的角色越来越重要。
(二)国外研究现状
二十世纪七十年代,著名软件工程师Andsan.Fandamu在美国布朗大学阐述通过计算机创建和阅读文件的时候首次提出了电子书[1](electronicBook,eBook)这一术语。
电子书是利用现代信息技术创造的全新出版方式,将传统的书籍方式以数字的形式通过计算机网络实现。
阅读器指的是一个设备,是专门用来看电子书的。
随着数字化的不断兴起,电子阅读器市场的竞争变得越来越激烈。
最早出现在市场上的电子书阅读器是美国SoftBook公司的SoftBook和Nov.Media公司的RocketBook[2]。
它们都具有美观的外型形状像一本古典的精装书,存储容量分别为8MB和32MB的存,分别可以容纳5,000和32,000多个电子页的信息,与计算机串口相连,可以从SoftBook和NuvoMedia的网上售书连锁店,下载书籍和期刊。
2000年8月,美国微软公司发布了一个可供人们阅读电子书的应用软件MicrosoftReader,这种阅读器软件的核心技术是ClearType[1],微软称之为“对液晶显示屏具有革命性的变革”,它是一种能使文字在显示器上的显示效果像印在纸上一样平滑清晰的字符显示技术,这种技术大大提高了屏幕的分辨率和清晰度,使读者能够获得最接近传统书的阅读效果。
同时南开大学津科公司开发了一款阅读不耗电的电子书阅读器,该电子书阅读器已经面市并将投人大规模生产。
它采用了华人科学家吴葆刚博士发明的“多稳态液晶显示器[2]”,并在国际上首次实现了“翻页不耗电”阅读显示。
除了上述几种电子书阅读器之外,EveryBook,Librius,GlassBook等公司也都推出了自己的电子书阅读器和阅读软件,出版集团和美国通公司联手合作推出了中文电子“掌上书屋”。
随着这些阅读器的出现,使得电子图书、期刊这些原本只能在PC上阅读的东西突然变得可以移动,电子书籍与纸制书籍之间的距离缩短了一大步。
同时,电子书阅读器更方便和灵活的使用功能也在不断地研究推出,例如,可以在阅读的时候加批注、书签、字体可缩放、旋转和支持声音播放等等。
目前主流的电子书阅读器有熊猫看书,它是网龙公司自主研发并出品的一款免费阅读软件,支持在线书籍查询,在线书籍分类阅读,书籍收藏与撤销收藏,新闻分类阅读,新闻订阅分类与撤销订阅。
是基于iPhone/WindowsMobile/Symbian/
Android/M8/Kjava等多手机平台上的全能免费阅读软件。
全面支持TXT、ZIP、HTML、UMD、NDB等多种格式,同时还支持JPG、BMP、PNG、GIF等多种格式图像查看。
自适应中文编码,自动排版,支持RSS新闻离线阅读。
电子阅读现在是国家和业非常重视的一个新兴产业,它与国家提倡的“自主创新,增强核心竞争力”、开展低碳、节能环保的社会环境相吻合,很多厂商、科研院所都将目光放到了这个原本没有足够重视的领域上。
同时,手机电子书阅读器作为广大网民经常使用的一个工具,在手机阅读市场逐渐扩大的时候,人们对于阅读的方便性和各种功能设置都有了更高的要求。
虽然现在手机电子书阅读器功能己经比较完善,但是离人们的期望还存在较大的距离,比如改善人们的阅读环境,使人们读起来不感到疲倦而且充满乐趣,同时现在的阅读器多媒体性能还不够完善。
因此,手机电子书阅读器的应用研究还大有潜力可挖。
(三)论文组织结构与安排
本文共分为五部分,容安排如下所示。
第一部分绪论,主要介绍本课题研究的背景与意义,国外研究现状,本文的组织结构与安排。
第二部分相关理论与关键技术,介绍了Android特征,Android架构和Android应用的构成和工作机制等容,研究了Android控件。
第三部分手机电子书阅读器需求分析,主要介绍了阅读器各功能模块需求。
第四部分手机电子书阅读器总体设计,分别从这几个角度进行描述:
软件架构图,软件结构图和功能模块设计。
第五部分手机电子书阅读器详细设计与实现,主要介绍了开发环境,关键模块代码实现和系统测试。
第六部分结语,对全文进行了总结和展望。
一、相关理论与关键技术
随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。
于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。
针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:
还能播放RMVB格式的视频文件。
此外,还能支持中文、英文等语言界面。
Android是一个移动设备的软件平台,是由Linux+Java构成的开源软件,它提供包括SDK、KeyApps、Middleware、LinuxKernel四个部分在的全套手机软件方案。
它开放了基于Linux核以上的开发工具,从而保证了容的可移植性和多样性。
Android平台为开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用[1]。
(一)Andriod特征
Dalvik虚拟:
Android采用的Java虚拟机是自主开发的代号为Dalvik的虚拟机技术,在保证API方面兼容的同时Dalvik针对移动手机进行了大幅优化,占用资源更小,运行效率更高。
嵌浏览器:
基于开源的浏览器网页排版引擎WebKit。
优化的图形:
强大的自定义二维图形库。
基于OpenGLES1.O标准的3D图形功能,在移动3D开发中有着至关重要的地位。
SQLite数据库:
SQLitet提供结构化的数据存储。
它是一款轻型免费的且开源的数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的存空间少、处理速度比较快和支持事务处理功能等。
多媒体支持:
支持各种通用的音视频和静态图像格式,如MP3、JPG、PNG等。
OpenCore是Android多媒体框架的核心,所有Android平台的音视频采集,播放的操作都是通过它来实现的。
通过OpenCore,程序员可以方便快速的开发出想要的多媒体应用程序。
GSM技术:
(依赖硬件)GlobalSystemforMobileCommunications,全球移动通讯系统,俗称“全球通”,是第二代移动通信技术,其开发El的是让伞球各地可以共同使用一个移动网络标准,让用户使_一部手机就能行遍全球。
蓝牙,EDGE,3G,andWiFi是一种短距离的无线连接技术,在短距离可以实现话音和数据的无线传输。
EDGE(EnhaIlcedDataRateforGSMEvolution),是增强型数据速率GSM演进技术。
Camera,GPS,compass,andaccelerometer:
(依赖硬件)GPS(GlobalPositioningSystem)全球定位系统。
它是一个由覆盖全球的24颗1J星组成的卫星系统。
Compass是个开放源代码的JAVA搜索引擎框架。
强大的开发环境:
包括一个设备模拟器,调试工具,存和性能检测,以与EclipseIDE的开发插件。
Eclipse是个集成开发环境。
[1]
(二)Andriod架构
Android的架构是Linux核、C/C++函数库、Dalvik虚拟机、应用框架以与关键应用程序构成的,如图1所示,通过编译基于框架的应用程序可以降低开发负荷。
应用软件原则上是在DalvikVM上运行的。
图1Android的架构[1]
1.关键应用程序
Android平台包含一些关键应用程序,如收发客户端程序、短信收发程序、日历和网页浏览器等,开发者可以在其平台上开发更多有特色的应用程序。
开发语言是Java。
2.应用程序框架
Android应用程序的开发基于框架和组件。
Android本身已在其框架中提高了许多的组件供应用程序调用,当然开发者也开放新的组件,并将组件放入应用程序框架中,以供自己和其它应用程序调用。
3.C/C++函数库
Android应用程序框架之下是一套C/C++函数库,它们服务于Android应用程序组件,其功能通过组件间接提供给开发者。
这些函数库包括:
标准C函数库、媒体功能库、浏览器引擎、2D和3D图形库、基于WEB应用的的安全协议SSL、用于点阵和矢量字体渲染的FreeType以与SQLite引擎等。
4.Java程序运行环境
Android的Java程序运行环境包含一组Java核心函数库与Dalvik虚拟机,它们有效地优化了Java程序的运行过程。
所有的Android应用都运行在它自己的进程里,该进程是一个Dalvik虚拟机的实例,Dalvik被设计成能在一台设备上高效的运行多个虚拟机实例。
Dalvik虚拟机的可执行文件被封装成Dalvik可执行格式(.dex)。
这是被优化过的最小存依赖的格式。
Java编译器(dx工具)将注册了的和运行时用到的类编译成.dex格式。
Dalvik虚拟机依赖于底层Linux核提供的功能,如线程机制,和存管理机制等。
5.Linux核
Android系统平台是基于优化了的Linux核,是其系统平台的核心。
它提供诸如存管理、进程管理、设备驱动等服务,同时也是手机软硬件的连接层,提供了一个屏蔽层用于屏蔽硬件和上层软件。
(三)Andriod应用的构成和工作机制
对于一个Android应用程序来说,是由Activity、IntentReceiver、Service、ContentProvider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。
在应用程序中使用时,需要在配置文件AndroidMainfest.xml中进行配置。
这个配置文件是每个Android应用程序所必需的,用于定义应用程序的组件、组件的功能以与必要条件等。
1.Activity
Activity是构成应用程序中最重要的构造块,在Android应用程序中,几乎都是通过Activity来与用户进行交互,所以Activity主要负责的就是创建与用户进行交互的显示窗口,你可以在这些窗口里通过调用setContentView(View)方法来显示你自己的用户界面。
图2Activity状态变换路径图[1]
(1)活动生命周期
活动(Activity)在系统中以活动栈的形式进行管理。
当一个新的活动启动后,被放到了栈项,成为了运行活动,而新活动之前的活动在活动栈里总位于新活动之下,直到新的活动退出才重新回到前台。
从图2Activity状态转换路径图中可以看出,Activity有三个关键的循环:
1)活动的整个生命期:
从首次调用onCreate(Bundle)开始,到最终调用onDestroyO结束。
在onCreate()中进行所有初始化,在onDestroyO时进行清理工作,释放资源。
2)活动的可见生命期:
从调用onStart()开始,到onStop()被调用为止。
在这段时间,即使活动不与用户进行交互,用户也可以在屏幕上看到它。
在这两个方法调用之间,可以维护活动显示给用户的资源。
onStart()和onStop()方法可以多次调用,因为活动随时可以在可见和隐藏之间进行转换。
3)活动的后台生命期:
从调用onResume()开始,到onPause()被调用为止。
在这段时间活动处于其它所有活动之前,并与用户进行交互。
一个活动可以不断在resumed状态和paused状态之间变换。
(2)活动之间的切换
Android使用了Intent类来实现活动之间的切换工作。
Intent负责对应用中一次操作的动作、动作涉与的数据和附加数据进行描述。
根据Intent的描述,负责找到对应的组件,将Intent传递给调用的组件并完成组件的调用。
因此,Intent起着一种媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。
在应用中,我们可以以两种形式来使用Intent:
直接Intent,指定了component属性的Intent,通过指定具体的组件类,通知应用启动对应的组件。
间接Intent,没有指定comonent属性的Intent,则需要包含足够的信息,这样系统才能根据这些信息,在所有的可用组件中,确定满足此Intent的组件。
2.IntentReceiver
IntentReceivert是用于对外部事件的响应,当外部事件发生时,会使用NotificationManager通知用户。
当一个IntentReceiver被触发时,系统会在需要的时候启动对应的应用程序。
如在本系统中,当用户正在其它界面进行操作时,有好友发送消息过来,就会以通知的形式发送到当前界面的正上方来通知用户。
各种应用还可以通过使用Context.broadcastIntent()将它们的IntentReceiver广播给其它的应用程序,实现应用之间的通讯。
3.Service
Service是提供连续信息的应用程序。
它是运行于应用程序后台的服务,在用户进行其它活动的时候,这个服务将一直运行在基于Android平台的即时通讯系统的研究与实现后台直到用户停止该服务或服务运行结束。
本系统客户端扩展功能的阅读器就是采用Service来进行设计和开发的,使用户可以边聊天边看书。
4.ContentProvider
ContentProvider应用程序能够将它们的数据保存到文件、SQL数据库和其它的存储设备中。
当应用程序需要使用存储设备中的数据时,可以使用ContentProvider来完成。
使用ContentProvider能够灵活的替换底层使用的存储设备,使开发者可以专著于应用逻辑的开发,不用考虑底层存储设备的细节,从而使应用系统具有良好的数据。
(四)Andriod手机平台控件研究
1.Android系统控件与自定义控件的比较研究
在GoogleAndroid中给出了非常多的绚丽的控件,但是