基于Android系统的文字阅读器的设计与实现【开题报告+文献综述+毕业设计】

基于Android系统的文字阅读器的设计与实现【开题报告+文献综述+毕业设计】

ID:471642

大小:1.56 MB

页数:47页

时间:2017-08-07

上传者:U-944
基于Android系统的文字阅读器的设计与实现【开题报告+文献综述+毕业设计】_第1页
基于Android系统的文字阅读器的设计与实现【开题报告+文献综述+毕业设计】_第2页
基于Android系统的文字阅读器的设计与实现【开题报告+文献综述+毕业设计】_第3页
基于Android系统的文字阅读器的设计与实现【开题报告+文献综述+毕业设计】_第4页
基于Android系统的文字阅读器的设计与实现【开题报告+文献综述+毕业设计】_第5页
资源描述:

《基于Android系统的文字阅读器的设计与实现【开题报告+文献综述+毕业设计】》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

毕业设计开题报告计算机科学与技术基于Android系统的阅读器的设计与实现一、选题的背景与意义(一)Android平台在android手机软件平台出现之前,智能手机软件平台发展缓慢,symbianOS、WindowsMobileOS、PlamOS是当时主流的手机软件平台,且在此之中以塞班公司的symbianOS和微软公司的WindowsMobileOS占有市场超过75%的比率,导致市场趋于一种饱和的缓慢的发展态势之中,但是随着3G的发展,手机移动终端和个人电脑的终端交集越来越多,手机不仅仅是一个联络工具,对于互联网的需求也是越来越高,人们希望手机能够实现的功能也是越来越多,所以谷歌公司秉承“获取信息的方式多种多样,不必非得在电脑前”的准则,进行手机操作系统的开发。在2007年11月5日,谷歌公司公布的手机系统平台Android,它是基于Linux内核的软件平台和操作系统,由谷歌和开放手机联盟(OHA,OpenHandsetAlliance)开发。通过开放其源码,降低了第三方软件开发制作者参与的难度,使得广大的软件开发者对于此平台的关注度大增。Android最大的特点在于它是一个开放的体系架构,通过对用户友好的开发和调试环境,和支持可拓展的用户体验,吸引广大软件开发者和个人用户的青睐。基于这个体系架构和Java的基础内核可以提供丰富的图形系统、强大的多媒体支持和快速有效的浏览器终端。Android平台软件开发现状虽然在google刚刚开始进军当时已经划分版图的智能手机嵌入式系统时,多数人不为所动,但是在三年后的今天,大家都可以乐观的预见android平台光明的前途,在大中华区市场,2010年第三季度所销售的智能手机有半数搭载android系统。Android平台从2008年9月23日发布第一个稳定的版本Android12 1.0开始,就保持了快速频繁的更新频率,从1.5、1.6到刚刚在12月7日新发布的代号为Gingerbread的Android2.3,在短短一年多的时间里面就进行了六次的版本更新发布,可见相关技术开发人员对一次的积极态度和广大开发者的需求。Google的工程师甚至提出,他们故意降低破解难度,使用户可以通过简单的步骤获得ROOT的权限,这样可以让用户和发烧友可以自由的安装任何自定义的ROM。图1表示android开发者使用版本的比例分布。图1android开发者使用版本的比例分布(android开发者网站发布)Android平台采用了软件堆层(softwarestack,又名以软件叠层)的架构,主要分为三部分:低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,主要以Java语言作为编写程序的一部分,同时Android提供了NDK以供开发者使用其他语言编写程序。同时Google和众多软件公司创建了开放手机联盟,吸引广大的自由手机软件开发者,包括WindRiver,Skype,Adobe,同时与HTC、NTTDoCoMo、KDDI、Motorola等手机公司达成联盟合作协议,通过推动增加Android应用软件数量和提高Android手机用户群达到两者互相推动的快速良性发展态势。同时,在android应用商店的盈利模式也决定了对开发者的宽容和有利的模式,通过付费模式和广告盈利模式相结合的做法,保证了开发者的收入,同时有着15分钟免付费的体验策略,也让使用者提供了更多的下载与尝试的机会。课题研究的意义在经过2008年的强势介入和2009年的稳定发展之后,2010年的android平台进入高速发展阶段,第三季度新机销售量已经是windowsmobile7平台新机销售量的15倍,可见平台的发展。12 此课题内容为android平台下的文本阅读器的制作与开发,虽然现在3G网络在飞速发展,在线应用和云应用越来越多,但是传统的阅读习惯和网络的普及程度导致了用户更能接受和使用预下载和离线阅读的方式。从现有的手机平台上阅读器的发展情况来看,目前在Symbian、WindowsMobile、J2ME平台下的各种阅读器类型中,离线方式的阅读器是最成熟的也是最受欢迎,但是,在Android平台上就有所欠缺,缺少一个成熟的阅读器。这在一定程度上表明Android平台的推出时间短,同时也与目前国内在Android上投入的开发规模小有关。二、研究的基本内容与拟解决的主要问题:(一)研究内容此课题研究的内容为Android平台下离线阅读器,主要使用Java语言在Eclipse中的android模拟器环境下开发。主要功能如下:1.支持键盘按钮控制或触屏点击控制。2.支持txt文档格式的阅读。3.支持自动书签保存和检索。4.支持从手机本地文件系统中查找需要阅读的文档。5.支持用户自定义界面风格方式。(二)拟解决的主要问题1.提供是对TXT文件格式的支持,其中txt文本可以用Android系统支持自带功能的浏览。2.提供书签功能,帮助检索书籍。3.提供时尚软件界面,对于用户而言,在手机平台上的软件,界面外观设计是最直接吸引用户的地方,尤其是在大家的审美观念越来越提高的今天,界面UI的重视程度越来越高。按照AndroidMarket的统计数据,界面美工制作的好的软件往往有更大的机会被用户接受。4.用户可以自定义配置功能,提供配色、字体等方面的用户自定义需求,以适应刚多的用户受众。三、研究的方法与技术路线:(一)、研究方法技术路线基本的设计思想是把整个软件按照模块进行分解,主要使用java方式进行编程,同时利用Android的NDK调用其他功能模块。文件浏览功能使用Java语言开发,使用list表单显示系统文件树。Android系统基于Linuxkernel2.6,可以通过File类的getPath方法取得文件目录利用Linux中的绝对路径与相对路径方式显示文件树,完成浏览功能。程序界面使用Androidxml资源定义,包括界面布局、各种高低度下的ICON、界面中调用到的字符串内容、颜色定义、主题样式定义等。12 程序界面支持用户使用自定义方式选择喜好的界面样式与配色方案等,并允许将其存入至配置文件中保存,方便用户随时调用。使用AndroidSDK提供的Theme方式与Style方式可以完成这种功能。设定数据库可以(二)拟定具体研究步骤如下:1.可行性及技术分析2.技术方案制定3.系统文件浏览功能实现4.文档阅读功能实现5.软件界面设计6.测试及bug修复四、研究的总体安排与进度:1.2010.12.01–2010.12.25:研究课题,了解具体任务要求,制定详细的计划安排。2.2010.12.26–2011.01.21:查阅相关文献资料,理清思路,制定程序流程框图等。3.2011.01.22–2011.02.22:完成基本文件浏览功能的实现与调试4.2011.02.23–2011.03.22:完成基本文档浏览功能的实现,修复上一阶段中调试出现的问题。5.2011.03.23–2011.03.31:完成软件界面框架和UI的设计,修复上一阶段中调试出现的问题。6.2011.04.01–2011.04.19:完成整合调试工作。7.2011.04.20–2011.05.10:进行毕业论文撰写与毕业答辩准备五、主要参考文献:[1]姚昱旻,刘卫国.Android的架构与应用开发研究[J].计算机系统应用,2008,(11):110-112.[2]温敏,艾丽蓉,王志国.Android智能手机系统中文件实时监控的研究与实现[J].科学技术与工程,2009,(07):1716-1719.[3]陈木生.GoogleAndroid手机推出市场分析[J].电子与电脑,2008,(12):10-14.[4]公磊,周聪.基于Android的移动终端应用程序开发与研究[J].计算机与现代化,2008,(08):85-89.[5]JonesMT.AccesstheLinuxkernelusingthe/procfilesystem[EB/OL],12 http://www.ibm.com/developerworks/linux/library/l-proc.html.[6]陈昱,江兰帆.基于GoogleAndroid平台的移动开发研究[J].福建电脑,2008,(11):156-157.[7]李亮.Android系统开发问题杂谈[J].程序员.2009,(7):116-117.[8]GoogleInc.AndroidSDKDocumentation[EB/OL],http://code.google.com/android/documentation.html.[9]RickRogers,JohnLomardo,ZigurdMednieks等.AndroidApplicationDevelopment:ProgrammingwiththeGoogleSDK[M].US:O’ReillyMediaInc.May2009.[10]SayedY.Hashimi,SatyaKomatineni,DaveMaclean.ProAndroid2[M].US:APressFeb2010.[11]RetoMeier.ProfessionalAndroid2ApplicationDevelopment[M].US:WileyPublishing,Inc.Feb2010.[12]余志龙,陈昱勋,郑名杰等GoogleAndroidSDK开发范例大全[M]北京:人民邮电出版社,2009.9[13]MarkMurphy.BeginningAndroid2.[M]Apress,2010.[14]陈彦文,彭亦暄.androidiphonewindowsmobile手机程式设计.[M]台北市:旗标,2010.0612 毕业设计文献综述计算机科学与技术基于Android系统的手机阅读器的设计与实现摘要:Android系统是google公司2007年11月5公布的手机系统平台,该系统基于Linux内核的软件平台和操作系统,由谷歌和开放手机联盟(OHA,OpenHandsetAlliance)开发。通过开放其源码,降低了第三方软件开发制作者参与的难度,使得广大的软件开发者对于此平台的关注度大增,市场占有率逐年攀升,现已成为世界第二大手机系统。同时作为新兴的手机操作系统,还需要开发很多软件用以满足用户需求。了解Android系统的基本构造和基础设计思路和使用方式,指导后期使用Eclipse开发工具编写Android程序。关键词:Android,Eclipse架构,组成,特点1.背景在android手机软件平台出现之前,智能手机软件平台发展缓慢,symbianOS、WindowsMobileOS、PlamOS是当时主流的手机软件平台,且在此之中以塞班公司的symbianOS和微软公司的WindowsMobileOS占有市场超过75%的比率,导致市场趋于一种饱和的缓慢的发展态势之中,但是随着3G的发展,手机移动终端和个人电脑的终端交集越来越多,手机不仅仅是一个联络工具,对于互联网的需求也是越来越高,人们希望手机能够实现的功能也是越来越多,所以谷歌公司秉承“获取信息的方式多种多样,不必非得在电脑前”的准则,进行手机操作系统的开发。在2007年11月5日,谷歌公司公布的手机系统平台Android,它是基于Linux内核的软件平台和操作系统,由谷歌和开放手机联盟(OHA,OpenHandsetAlliance)开发。通过开放其源码,降低了第三方软件开发制作者参与的难度,使得广大的软件开发者对于此平台的关注度大增。12 Android最大的特点在于它是一个开放的体系架构,通过对用户友好的开发和调试环境,和支持可拓展的用户体验,吸引广大软件开发者和个人用户的青睐。基于这个体系架构和Java的基础内核可以提供丰富的图形系统、强大的多媒体支持和快速有效的浏览器终端。2.Android的基本结构和原理Android是一个关键的移动设备的应用软件平台,它包括一个操作系统和一些中间件。你可能已经意识到Android,它的功能及其他方面。1)架构层Android的各种组件设计成一个堆栈,用'应用程序在堆栈的顶部形成层,而Linux内核形式最底层。2)应用层其他功能与Android同基于一组核心应用,包括电子邮件客户端,短信程序,日历,地图,浏览器,和联系人。所有的应用程序都是用Java编程语言。因此,在这一层,你会适合您的下一个大移动应用程序。3)应用框架层开发人员可以完全访问应用同样的框架所使用的核心API。应用程序架构的设计,简化的组件重用,任何应用程序的功能都是可以发布的,然后作出框架。使用任何其他应用程序在受限制的安全性中执行。同样的机制允许组件被用户所取代。,例如,如果你有一个小笔记需要在您的移动应用程序搜索一个特定地点的地址,你刚才说了,你可以考虑使用记笔记应用的地图应用程序直接从你的应用程序,而不是交换。Android的特点特定权限Android的定义某些特定任务的权限。例如,如果某个应用程序要访问Internet,必须在其配置文件中定义,它想利用访问许可。在申请安装一个Android应用程序的用户,将看到一些显示信息中,他需要通过这些确认应用程序所需的权限。AndroidManifest.xmlAndroidManifest.xml是Android应用程序描述文件。12 这个文件必须申报所有的活动,服务,广播接收器和内容供应商,同时它也必须包含应用程序所需的权限。例如,如果应用需要网络访问则必须在它这里指定。AndroidManifest.xml可以被认为是Android应用程序的一个部署描述符。资源和资产目录"gen"在一个Android项目包含生成的值。“R.java”是一个生成的类,它包含在res文件夹的项目引用资源。这些资源都保存在"res"目录,可以是值,菜单,布局,图标或图片或动画。例如,一个资源可以是一个图片或一个定义字符串的XML文件。如果您创建一个新的资源,相应的引用会自动创建“R.java”。引用是静态的int值,Android系统提供方法来访问相应的资源。例如,要访问"R.string.yourString"参考使用方法的getString(R.string.yourString);请不要试图手动修改"R.java"。而目录"res",包含结构化数据的价值,这是众所周知的Android平台的目录“资产”,可以用来存储任何类型的数据。在Java中,您可以通过这些数据和方法访问getAssetsAssetsManager()。活动和生命周期作业系统控制您的应用程序生命周期的影响。在任何时候,Android系统可能会停止或破坏您的应用程序。Android系统定义定义的方法通过预生命周期的一个活动。最重要的方法是:onSaveInstanceState()——如果该活动已停止,将被调用,用于保存数据。如果重新启动,这样的活动可以恢复其数据。onPause()——总是被调用,如果在活动结束后,可以用来释放ressource或保存数据onResume()——调用如果活动重新启动,可用于initiaze领域。开发环境您可以用与开发Java应用程序相同的高品质的工具来开发Android应用程序。Android的核心库提供的功能需要建立一些令人惊讶的丰富的移动应用,和Android开发工具使运行,调试和测试您的应用变得轻而易举。你可以使用Eclipse12 IDE(http://www.eclipse.org)或命令行工具提供SDK,开发你的Android应用程序。Android的发展是由很多简单的Eclipse插件,被称为Android开发工具(ADT)。它给我们带来了AndroidIDE。下载和安装说明参照http://code.google.com/android/adt_download.html。主要参考文献:[1]姚昱旻,刘卫国.Android的架构与应用开发研究[J].计算机系统应用,2008,(11):110-112.[2]温敏,艾丽蓉,王志国.Android智能手机系统中文件实时监控的研究与实现[J].科学技术与工程,2009,(07):1716-1719.[3]陈木生.GoogleAndroid手机推出市场分析[J].电子与电脑,2008,(12):10-14.[4]公磊,周聪.基于Android的移动终端应用程序开发与研究[J].计算机与现代化,2008,(08):85-89.[5]JonesMT.AccesstheLinuxkernelusingthe/procfilesystem[EB/OL],http://www.ibm.com/developerworks/linux/library/l-proc.html.[6]陈昱,江兰帆.基于GoogleAndroid平台的移动开发研究[J].福建电脑,2008,(11):156-157.[7]李亮.Android系统开发问题杂谈[J].程序员.2009,(7):116-117.[8]GoogleInc.AndroidSDKDocumentation[EB/OL],http://code.google.com/android/documentation.html.[9]RickRogers,JohnLomardo,ZigurdMednieks等.AndroidApplicationDevelopment:ProgrammingwiththeGoogleSDK[M].US:O’ReillyMediaInc.May2009.[10]SayedY.Hashimi,SatyaKomatineni,DaveMaclean.ProAndroid2[M].US:APressFeb2010.[11]RetoMeier.ProfessionalAndroid2ApplicationDevelopment[M].US:WileyPublishing,Inc.Feb2010.[12]余志龙,陈昱勋,郑名杰等GoogleAndroidSDK开发范例大全[M]北京:人民邮电出版社,2009.9[13]MarkMurphy.BeginningAndroid2[M].Apress,2010.12 [14]陈彦文,彭亦暄.androidiphonewindowsmobile手机程式设计.[M]台北市:旗标,2010.06[15]LarsVogelAndroidDevelopmentTutorial-Gingerbread[R]LarsVogel20.03.2011[16]ADevelopersWhatisAndroid?[EB/OL]http://Gcodebank.com12 本科毕业设计(20届)基于Android系统的文字阅读器的设计与实现12 摘 要【摘要】GOOGLE公司于2007年公布开源系统android系统,在业界产生了不小的轰动。近几年,由于android系统的开源性和GOOGLE公司持续而快速的版本更新,导致了android系统在智能手机市场份额突飞猛进,市场前景广阔。本文阐述了一个在android系统下的文字阅读器的设计和实现。软件的编写环境是在eclipse3.6.2中,使用GOOGLE发布的SDK插件进行编程。软件将实现文件的读取,书签的设定、查看和删除,旋转屏幕以及背景的设定等功能。软件将从可行性分析、需求分析、总体设计、详细设计及软件实现等步骤进行分析与阐述。【关键词】android;文字阅读器;eclipse。12 Abstract【ABSTRACT】GOOGLECompanyannouncedandroidopensourcesystemin2007,theindustrygeneratedquiteastir.Inrecentyears,theandroidsystem,opensourceandGOOGLEcompany'scontinuedandfastversionoftheupdate,resultingintheandroidsysteminthesmartphonemarketsharebyleapsandbounds,themarketprospectisbroad.Thispaperdescribesatextintheandroidsystemdesignandimplementationofreaders.Softwareauthoringenvironmentiseclipse3.6.2,useGOOGLE'sSDKplug-inprogramming.Softwarewillenablethefiletoread,setbookmarks,viewanddelete,rotatethescreenandbackgroundsettingsandotherfunctions.Softwarefromthefeasibilityanalysis,requirementsanalysis,design,detaileddesignandsoftwareanalysisandotherstepsdescribed.【KEYWORDS】android;textreader;eclipse。XV 目 录1项目可行性分析11.1项目背景11.1.1Android系统11.1.2阅读的进化11.1.3Android平台下的软件商店11.2项目目标11.3项目功能11.3.1文件浏览器11.3.2文本书签21.3.3旋转屏幕21.3.4自定义模块21.4预期效果21.5论文整体架构32系统需求分析42.1系统需求来源42.2需求分析42.2.1用户分析42.2.2软件需求分析42.2.3软件总框架52.2.4软件数据分析52.2.5软件流程图72.3软件开发工具简介82.3.1Eclipse3.6概述82.3.2AndroidSDK2.283项目总体设计103.1总体设计103.1.1关系模型103.1.2关系模型数据103.2软件结构设计113.2.1总体结构设计113.2.2系统结构设计114项目具体设计134.1总述134.2软件模块展示134.2.1主界面模块134.2.2文本阅读模块144.2.3菜单界面模块154.2.4书签管理模块164.2.5用户设置模块175软件实现代码分析205.1总述20XV 5.2文件管理模块205.2.1存储单条列表信息的类205.2.2创建文档管理视图205.2.3文档选择215.3主要阅览界面225.3.1文档打开225.3.2文档阅读百分比225.3.3键盘映射225.4主菜单模块235.5书签管理模块235.5.1新建书签235.5.2查看书签245.5.3删除书签255.6个性设置模块265.6.1字体大小设置275.6.2颜色设置285.7数据容器模块285.8测试与运行296总结30参考文献31致谢32XV 1.项目可行性分析1.1项目背景本节介绍该项目的设计所处在的背景,论证项目在当前环境下实现的实际意义。1.1.1Android系统鉴于“获取信息的方式多种多样,不必非得坐在台式机前面”的公司信条,GOOGLE公司于2007年公布了他们所开发的开源智能手机系统(现已衍生到平板电脑操作系统)——“机器人”android。该系统最大的特性就是开源,通过开放源代码和提供丰富的接口,可以为广大的软件开发商提供广阔的舞台,全球所有的开发者和用户一起为这个系统的完善和进步做努力。所以从推出至今市场份额急速攀升,现已成为全球第二大手机操作系统。1.1.2阅读的进化现代社会速度越来越快,科技飞速发展,传统的纸质阅读已经难以吸引大家脱离快节奏的生活,静心阅读,厚重的纸质载体也是阻碍传统纸质阅读的一座大山。但于此同时,阅读的方式在我们的生活中也在悄然改变,阅读的革命正在我们身边发生:蔡伦造纸,解决了厚重的竹简难以携带、保存,单位信息量小的劣势;而现今信息大爆发,纸张也越来越不能承担传递大信息量的任务,科技发展,现如今我们可以通过电脑,通过手机,通过丰富的电子终端设备进行阅读,进行信息的获取,于此,该项目为android平台下的用户提供一个方便阅读工具。1.1.3Android平台下的软件商店GOOGLE公司吸取APPLE公司在线商店APPSTORE的成功经验,在android平台上夜开发了APPSTORE,用以规范软件市场,提升开发者的收入水平,受到了广大用户和软件开发者的好评:用户不用再到处寻找需要的软件应用或者游戏应用,而开发者被盗版和免费下载的所产生的损失比例也大幅降低。所以在线商店为开发者所乐道。1.2项目目标本项目整体定性为一个文字阅读器软件,通过快捷经小巧的架构来吸引用户,为用户提供快速便捷的阅读体验。通过内部构建,为简单的文件类型提供解码方案,提供给用户阅读。同时利用数据库等组件为用户提供良好的阅读体验。1.3项目功能本节介绍该项目实现的具体功能,并论断其工作方式。47 1.1.1文件浏览器由于Android系统的开源性,决定了它在提供更大的创意的舞台的同时,也同时省略了很多原本应该程式化的部分,并不会提供一个默认的直观的文件管理和浏览的功能,所以用户不能直接通过熟悉的资源管理器的方式对手机内存中和SD存储卡中的文件资源进行浏览和管理的操作。鉴于以上原因,阅读软件需要为用户构建和提供一个便利的文件管理的模块来获取和浏览手机内存中和SD存储卡的文件资源。1.1.2文本书签在信息量越来越多的今天,我们几乎不可能一次就阅读完整篇文档,在一次阅读结束后,为了减少下一次阅读开始时的查找时间,同时用户可以在重要位置标记书签,可以便于用户记录、再次查找,提升用户体验,阅读软件需要提供书签,对用户的阅读历史进行保存,并且在用户再次访问书签时直观地向用户展示,方便用户查找和点击。同时软件还要提供给用户管理和删除书签的功能,防止用户在大量使用书签之后产生无法快速查找书签的影响,使书签失去它原有的快捷性。1.1.3旋转屏幕现在智能手机正在朝着触摸式屏幕、简化键盘的方向前进,屏幕越做越大,同时屏幕所承载的功能、显示的方式也越来越多。很多厂商已经不满足于传统竖屏状态下的屏幕,通过旋转屏幕,可以展示更丰富的应用,也更贴近人们横宽竖窄的日常习惯。所以在设计过程中,我们也需要贴近趋势,迎合部分用户对于横向阅读的习惯,设计旋转屏幕按钮,提升用户满意度。1.1.4自定义模块现在社会,不论什么都讲究的是个性化,每个人都有自己的喜好,每个人都有自己的偏向,大家都希望自己所拥有的事物是独一无二的、是贴合自己需求的。同时在不同的环境下、不同的用户群体中必定需要不同的设置,才能达到贴合用户需求的目的。在本软件设计中,将自定义模块分为字体大小和颜色设置两个部分:减小字体大小可以在同一页面阅读更多的内容,增大字体大小可以使得文字更容易辨别;通过调整背景和文字颜色可以快速适应不同阅读环境中光线差别,减少不适合的屏幕颜色对眼睛的刺激,同时在整个环境适合的情况下,可以通过选择喜欢的色彩彰显自我个性的作用。通过以上两项设置,可以为用户设置最符合自身和现有环境的个性化设置。1.2预期效果47 用户启动软件后,首先可以在通过文件浏览器来浏览手机目录,查找和打开所需要的文档进行阅读,文件浏览器只会显示目录菜单和能够支持的文档;其次在阅读界面,用户可以滑动屏幕进行文本阅读,可以点击“menu”按钮显示菜单;通过菜单的书签选项,可以打开书签目录,进行书签的新建、查看、打开和删除地动作;通过设置选项,可以打开设置菜单,进行文字字体大小和背景、文字颜色设置的动作;通过旋转屏幕按钮,完成从竖屏阅读到横屏阅读的转变;通过关闭按钮,关闭现文档,返回文件浏览器,选择新文档进行阅读。1.1论文整体架构本文第一章简要介绍了项目设计背景﹑目标﹑预期效果及系统的总体框架。第二章从系统需求角度进行分析,包括问题的提出,指出完整的文件解码能力是阅读器软件实现的基石。并对系统使用的对象﹑系统需求﹑系统数据进行分析,为系统的建立做充分的准备。第三章为总体设计,给出系统的总体架构图,及子系统的功能图,概括地说明了系统该如何实现。第四章详细设计部分精确地描述了目标系统每个模块的功能。第五章讲述了系统的实现,包括动态数据分析,编码和测试。第六章针对本系统的设计与实现进行总结,指出不足。47 系统需求分析1.1系统需求来源现阶段人们的生活节奏越来越快,大家需要更快捷,更主流的阅读方案,现在流行的文本格式有多种不同的文档编码方案,从最基本的TXT文档类型到由国内的厂商提出的UMD文档类型。这些不同的文档格式有不同的编码方法,但是在手机平台上,以基本的TXT文档最为通行,它方便,更易浏览和修改,适中的文档大小和广阔的获取渠道也是其优点。一方面,在中国,相对于经营多年,来自NOKIA公司的symbianS60系统,GOOGLE公司的android系统显得如此的年轻和不足,缺少大量用户实践,缺少广大的应用软件的开发商介入来发相关的程序应用,但从用户的角度而言,依然希望能有一个小巧的文本阅读器的出现,来弥补这方面的空白。另外一方面,由于国内手机通讯环境、网络带宽、使用习惯、流量资费、版权管理等与其他国家不同的外部条件和国内现状,我们可以看到,在中国,主流的阅读环境还是离线的阅读方式,利用手机进行阅读的用户们也更加习惯于离线方式的阅读解决方案,即用户事先将文档下载至本地,然后通过本地文档阅读器进行阅读的解决方案。基于以上三条因素,一个能够通过离线方式提供TXT文档阅读的阅读软件应用就成为了契合用户需求的方案。1.2需求分析本文本阅读器的开发目标是为Android手机用户(尤其是中文用户)提供一个主流TXT文档格式阅读的解决方案。本软件应用提供图形化的文件浏览器来查找文档,提供多彩的阅读界面,并提供书签给用户来提供使用上的便利。1.2.1用户分析本系统的设计用户为使用Android系统平台的手机,同时对文档阅读(尤其是网络小说)有需求的广大青少年用户群体;希望打发上下班时间而进行阅读,希望软件迷你简单,不需要占用大量空间的白领。1.2.2软件需求分析47 从之上所分析定位的软件用户群的习惯了解,用户所关心的是,软件能否提供功能使其便捷地浏览文档,便利地进行操作,存在友好的界面。在系统的具体设计实现上,要求软件不只是简单的开启和显示文本内容,而要面向用户群体,针对每功能的特点进行设计,提供适合用户的,解决用户需求的模块,具体需求见表2.1。表2.1用户基本需求需求功能管理文档查看可以显示TXT文本内容文件查找可以便捷的查找到存储卡中的文件信息书签设定可以记录书签,方便下次阅读环境设定通过设置阅读环境,达到个性化需求1.1.1软件总框架该系统的总体框架由数据库﹑用户操作平台二个部分构成。数据库存储基本数据信息,书签信息等。用户操作平台的总体框架由文件管理、数据处理、用户界面三部分组成。框架图如图2.1所示。文件管理用户界面数据处理图2.1系统总体框架图1.1.2软件数据分析本节介绍在软件中所需要的数据的分类。用以明确制作方向。(1)文件信息实体文件信息实体是用来浏览和查找的文件内容信息,包括文件名和文件路径两部分。如图2.2所示。47 文件名称文件路径文件信息图2.2文件信息实体关系(E-R)图(1)书签信息实体书签信息实体使用来记录用户文档设置书签的列表,其中包括文件名、文件路径、书签编号、书签备注名称,如图2.3所示。书签信息文件名称书签位置文件路径书签备注名称书签编号图2.3书签信息实体关系(E-R)图(2)用户设置实体用户设置信息实体是用来呈现用户设置的参数的合集,其中内容包括文本字体大小、文本字体颜色、背景颜色,如图2.4所示。47 用户设置屏幕背景颜色文本字体颜色文本字体大小图2.4用户设置信息实体关系(E-R)图1.1.1软件流程图对系统各模块的功能分析后,可以根据系统使用对象的不同,导出用户操作流程图。用以明确编程思路,引导用户使用。具体软件流程图如图2.5所示。文档管理模块用主界面模块书签管理模块设置管理模块图2.5软件流程图47 1.1软件开发工具简介本系统采用开发平台为Eclipse3.6,使用Android2.2版本的AndroidSDK,下面对它们进行简要的介绍。1.1.1Eclipse3.6概述Eclipse是著名的跨平台自由集成开发环境(IDE)。它最初主要用来制作基于Java语言开发环境下的软件。但是随着使用人群的不断扩大,现如今却不再局限于Java语言之下,目前也有人通过插件使其作为其他计算机语言(比如C++和Python)的开发工具平台。Eclipse的本身只是一个框架平台,但是通过众多插件的支持,使得Eclipse拥有其他功能相对固定的集成开发环境很难具有的灵活性和扩展性。许多软件开发商以Eclipse为框架开发自己的IDE,更显示了Eclipse开发环境的使用广泛。虽然大多数软件开发者还是将Eclipse当作JavaIDE来使用,但Eclipse所能开发的目标不仅限于Java平台下。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的其他语言环境的开发工具。同时由于Eclipse是由框架平台和众多插件所组成的,她包括的每样东西属于插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等地位的发挥场所。1.1.2AndroidSDK2.2AndroidSDK是由GOOGLE公司发布的Android软件开发工具包,目前已有从1.0开始到3.0等多个版本供开发者选择。本软件开发使用的SDK为现阶段使用最多的版本号为2.2的开发工具包。Android的系统架构分为应用层、应用框架层、系统运行层和内核层四个部分。应用层就是用Java语言编写的运行在虚拟机上的程序,也就是直观能看到的部分。应用框架层是编写Google发布的核心应用时所使用的API框架,开发人员可以使用这些框架来开发自己的应用,这样便简化了程序开发的架构设计,但是必须遵守器框架的开发原则。当使用Android应用框架时,Android系统会通过一些C/C++类库来支持我们使用的各个组件,使其能更好的为我们服务。主要包括系统C库、多媒体库、SSL、OpenGLES1.0、SQLite、Webkit等。在系统运行层中,每一个程序都运行在Dalvik虚拟机之上,它是一个专门为移动终端开发虚拟机,基于寄存器,在代码的执行效率上更胜基于堆栈的虚拟机。47 Android的核心系统服务基于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型都依赖于该内核。47 项目总体设计1.1总体设计关系数据库逻辑设计的结果是一组关系模式的定义。通过之前两个部分的需求分析以及管理用户操作的流程图,可以将本系统总结为下面的关系模式以及该模式的具体数据结构,用以引导编写程序。1.1.1关系模型软件涉及到的关系模型有:l书签信息(书签编号、书签备注信息,文件名称、文件路径)l设置信息(字体大小,文字颜色,背景颜色)1.1.2关系模型数据上述数据的具体内容需要列表解释,明确数据具体内容。表3.1书签信息的数据表格数据名数据类型可否为空是否需要手动输入备注书签编号INTNONO由系统产生为书签排序用书签备注信息STRINGNOYES用户输入的书签名称文件名称STRINGNONO文件名称文件路径STRINGNONO文件所在地址表3.2设置信息的数据表格数据名数据类型可否为空是否需要手动输入备注字体大小INTNONO设计信息均为通过选择已经预置好的配置,传递信息用整型代码,不需要手动输入。文字颜色INTNONO背景颜色INTNONO47 1.1软件结构设计为了实现目标软件,必须设计出组成这个软件的所有模块和数据库,明确它们的功用。首先应进行结构设计,即确定软件由哪些模块组成,以及这些模块之间的关系,这是总体设计阶段的任务。我们可以用层次图来描绘软件的层次结构(即由模块组成的层次系统)。所谓层次图即是自顶向下,逐步细化。顶层模块调用他的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块完成最具体的功能,通过将软件模块化来确定编写代码的分类。具体方案见图3.1,其中图中每个矩形框为一个模块,方框之间的连线表示调用关系。1.1.1总体结构设计本软件的设计思想是:采用Android软件结构相互组合,利用AndroidSDK提供的UI和控件功能建立面向用户的界面程序,利用数组来建立简单的数据库体系,进行数据操作。本软件具有数据库操作、主界面、文件管理器、书签管理、TXT文件阅读、菜单界面功能模块组成,完成一般文本阅读器应该完成的任务。软件总的功能结构层次图如图3.1所示。1.1.2系统结构设计以下将从用户的角度对各子系统功能进行分析1.主界面模块:列表显示存储卡的文件列表,用户可以直接点击打开文件,进行阅读。2.文件管理器模块:用户浏览存储卡中的文件列表,选择需要阅读的书籍。3.主菜单模块:用户通过进入主菜单可以进行书签和用户设置等工作。4.书签管理模块:用户可以新建书签,查看书签。删除书签,完成书签的相关动作。5.TXT文本阅读模块:用户可以通过该模块浏览TXT文本内容。6.用户设置模块:用户可以设置字体颜色、字体大小和背景颜色,达到个性化的目的。具体模块架构层次图如下图3.1所示。以上即是本软件总的功能结构图以及各个子系统的详细功能结构说明。对于每一个新软件,大家总是一开始就拼命码代码,却忽略了往往是非常重要的开始时的结构分析。做好总的结构设计,对于后来的模块化编制程序提供了方向指导性,而不会产生因为结构不清楚所产生的种种问题。47 文本阅读器文件管理器目标文件打开系统目录浏览文档阅读菜单界面书签管理字体大小设置用户设置背景颜色设置文字颜色设置关闭文档新建书签查看书签删除书签打开书签图3.1系统总体结构层次图47 1.项目具体设计1.1总述经过可行性分析,需求分析和总体设计之后,我们已经系统规划了解了所有模块,可以进入软件的具体设计阶段。在具体设计阶段,需要将对目标软件进行精确的描述,采用结构程序设计技术为最后的系统代码实现设计出程序“蓝图”。本软件上分为数据库和应用程序组件两部分,数据库在总体设计中已经基本建成,应用程序组件部分则采用Eclipse作为软件的开发工具,以友好界面形式面向软件用户,遵循方便,易用的特点。下面部分将重点描述系统各模块的具体设计成品图。1.2软件模块展示1.2.1主界面模块此模块是用户进入系统的门户,主要功能是显示文件管理器,让用户进行选择。图见图4.1,图4.2。图4.1文件管理器一47 图4.2文本管理器二1.1.1文本阅读模块本模块是用于显示用户选择的TXT文本内容,用户可以通过菜单功能来选择文本的不同编码,来正确显示文本内容。TXT文本阅读模块如图4.3所示。47 图4.3问被阅读界面1.1.1菜单界面模块本界面模块通过构建主界面模块,来也引导用户进入菜单,进行相关的设置,书签的存取,文档的关闭等内容。模块如图4.4所示。图4.4主界面模块47 图4.5文档简介部分1.1.1书签管理模块书签管理模块的入口在菜单界面模块中,用户进入之后可以对书签进行新建、打开、删除等功能。模块如图4.6,图4.7,图4.8,图4.9所示。图4.6书签管理模块图4.7书签查看界面47 图4.8删除书签界面图4.9新建书签界面1.1.1用户设置模块通过主界面入口进入的还有用户设置模块,在此可以通过预设更改阅读的主题风格,达到适应环境和体现喜好的目的。具体界面见图4.10,图4.11,图4.12。47 图4.10个性化设置模块主界面图4.11个性化设置模块字体大小设置界面47 图4.12个性化设置环境颜色设置界面47 软件实现代码分析1.1总述软件全部代码分为以下几个部分:1.文件管理器模块:用户浏览存储卡中的文件列表,选择需要阅读的书籍2.主界面模块:用户直接进行阅读文件。3.主菜单模块:用户通过进入主菜单可以进行书签和用户设置等工作。4.书签管理模块:用户可以新建书签,查看书签。删除书签,完成书签的相关动作。5.TXT文本阅读模块:用户可以通过该模块浏览TXT文本内容。6.用户设置模块:用户可以设置字体颜色、字体大小和背景颜色,达到个性化的目的。7.数据库处理模块:具体设置软件中各类数据的增减等操作。在之后的章节将详细阐述具体模块代码作用。1.2文件管理模块在这里,我们通过在程序内定义布局文件的方式来定义UI界面。同时新建了FileMess类来存储需要显示的每一行数据的内容,包括从drawable文件夹中调用图表信息,用File类型存储的文件路径和用String类型存储的文件名称,代码如下所示。1.2.1存储单条列表信息的类提供一个类用以打包,方便演示列表//FileMess.javapackagecom.reader;importjava.io.File;publicclassFileMess{publicinticon;publicFilefile;publicStringname;}1.2.2创建文档管理视图//Txtlist.javaFilerootParth=newFile("/");GetFiles(rootParth);}publicvoidGetFiles(FilefilePath){47 if(!txtList.isEmpty())txtList.clear();if(!listStr.isEmpty())listStr.clear();//在顶部创建返回上级菜单选项if(filePath.getParentFile()!=null){FileMessh=newFileMess();h.file=filePath.getParentFile();h.name="Comeback";h.icon=R.drawable.arrowup;txtList.add(h);}//为每个类表目录提供返回上层功能File[]files=filePath.listFiles();if(files!=null){inti;for(i=0;i0)p=sc.getScrollY()*100/(sc.getChildAt(0).getMeasuredHeight()-sc.getHeight());TxtView.this.setSecondaryProgress(p*100);}//根据现有长度和全文长度计算进度条1.1.3键盘映射publicbooleanonKeyUp(intkeyCode,KeyEventevent){if(KeyEvent.KEYCODE_DPAD_DOWN==keyCode){mProgress();}47 if(KeyEvent.KEYCODE_DPAD_UP==keyCode){mProgress();}//上下键换段同时计算进度条if(KeyEvent.KEYCODE_DPAD_LEFT==keyCode){sc.scrollTo(0,sc.getScrollY()-sc.getHeight()+15);mProgress();}if(KeyEvent.KEYCODE_DPAD_RIGHT==keyCode){sc.scrollTo(0,sc.getScrollY()+sc.getHeight()-15);mProgress();}//左右键设置换页,同时计算百分比进度条returnsuper.onKeyDown(keyCode,event);}1.1主菜单模块这个模块主要是通过菜单按钮,显示菜单,方便用户选择书签等服务,本身没有具体功能。publicbooleanonCreateOptionsMenu(Menumenu){super.onCreateOptionsMenu(menu);menu.add(0,setting,Menu.NONE,"个性设置")//定义显示主菜单模块.setIcon(R.drawable.settings);//其中略super.onCreateOptionsMenu(menu);returntrue;}//记录菜单中的按钮按下的状态publicbooleanonOptionsItemSelected(MenuItemitem){switch(item.getItemId()){casesetting:mySettings();//将菜单模块和相关程序绑定break;//其中略default:returnfalse;}returntrue;}//将按钮被按下的反馈与要运行的模块对应1.2书签管理模块该模块是通过链接数据库,完成书签工作,新建,查看,删除三个动作分别对应三个Activity。1.2.1新建书签构建菜单后主要通过嗲用数据库Activity的add接口来增加书签。47 privatevoidnewDialog(){AlertDialog.Builderbuilder=newAlertDialog.Builder(this);builder.setTitle("新建书签");builder.setIcon(android.R.drawable.ic_dialog_alert);finalEditTextinput=newEditText(this);input.setHint("请输入书签名");builder.setView(input);builder.setPositiveButton("确定",newOnClickListener(){@Override//以上是构建菜单publicvoidonClick(DialogInterfacedialog,intwhich){//调用数据库接口写入书签if(input.getText().toString().trim().length()>0){addTag(input.getText().toString());dialog.dismiss();Toast.makeText(TxtView.this,"新建书签成功",Toast.LENGTH_SHORT).show();}else{Toast.makeText(TxtView.this,"请您输入书签名!",Toast.LENGTH_SHORT).show();newDialog();}}});//测试书签名是否为空,防止漏洞builder.setNegativeButton("取消",newOnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){dialog.dismiss();}});builder.show();}1.1.1查看书签通过数据库的.size数据查看现有书签条数,通过list相关方法罗列条目。privatevoidopenDialog(){AlertDialog.Builderbuilder=newAlertDialog.Builder(this);builder.setTitle("所有书签");finalListlistData=ReaderDataBase.getReaderDataBase(this);if(listData.size()>0){//如果在数据库中书签的条数大于零47 ListViewlist=newListView(this);finalMTagAdaptermyAdapter=newMTagAdapter(this,listData);list.setAdapter(myAdapter);list.setOnItemClickListener(newOnItemClickListener(){@OverridepublicvoidonItemClick(AdapterViewarg0,Viewarg1,intpos,longarg3){mScrollTo(listData.get(pos));}//则按条输出});list.setOnItemLongClickListener(newOnItemLongClickListener(){builder.setView(list);}else{//不然输出对话框,提示没有书签TextViewtxt=newTextView(this);txt.setText("没有书签");txt.setPadding(10,5,0,5);txt.setTextSize(16f);builder.setView(txt);}builder.setNegativeButton("确定",newOnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){dialog.dismiss();}});builder.show();}1.1.1删除书签用数据库的delete相关方法删除书签,并且在之前通过温馨提示防止误触。privatevoiddeleteDialog(){AlertDialog.Builderbuilder=newAlertDialog.Builder(this);builder.setTitle("温馨提示");builder.setMessage("你确定要删除所有书签吗?");builder.setIcon(android.R.drawable.ic_dialog_alert);builder.setPositiveButton("确定",newOnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){47 deleteAllTag();dialog.dismiss();Toast.makeText(TxtView.this,"删除成功",Toast.LENGTH_SHORT).show();}});builder.setNegativeButton("取消",newOnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){dialog.dismiss();}});builder.show();}1.1个性设置模块这个模块通过读取预置信息,可以修改阅读环境,包括的两个Activity分别是字体大小设置和颜色设置。privatevoidmySettings(){LayoutInflatermInflater=LayoutInflater.from(this);Viewmview=(View)mInflater.inflate(R.layout.settings,null);mview.setClickable(false);Spinnerfontset=(Spinner)mview.findViewById(R.id.setfont);Spinnerthemeset=(Spinner)mview.findViewById(R.id.settheme);fontset.setAdapter(getArrayAdapter(getData(1)));fontset.setSelection(ReaderSettings.getFontSize(TxtView.this)-1);fontset.setPrompt("设置字体大小");themeset.setAdapter(getArrayAdapter(getData(2)));themeset.setSelection(ReaderSettings.getTheme(TxtView.this)-1);themeset.setPrompt("设置主题");//构建菜单框架fontset.setOnItemSelectedListener(newOnItemSelectedListener(){@OverridepublicvoidonItemSelected(AdapterViewarg0,Viewarg1,47 intarg2,longarg3){//通过传递预设参数来确定字体大小if(((TextView)arg1).getText()==getData(1)[0]){ReaderSettings.setFontSize(TxtView.this,1);setViewFontSize(1);}//以下略}@OverridepublicvoidonNothingSelected(AdapterViewarg0){}});themeset.setOnItemSelectedListener(newOnItemSelectedListener(){@OverridepublicvoidonItemSelected(AdapterViewarg0,Viewarg1,intarg2,longarg3){//通过预设背景图片和文字颜色进行更改if(((TextView)arg1).getText()==getData(2)[0]){ReaderSettings.setTheme(TxtView.this,1);setViewTheme(1);}//以下略}});AlertDialog.Builderbuilder=newAlertDialog.Builder(this);builder.setTitle("个性化设置");builder.setView(mview);builder.setIcon(R.drawable.settings);builder.setInverseBackgroundForced(true);builder.setPositiveButton("关闭",newOnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){dialog.dismiss();}});builder.show();}1.1.1字体大小设置字体大小预设了四个值,通过传递字体大小的数值来实现改变字体大小的目的。privatevoidsetViewFontSize(intmsize){fontSize=14;if(msize==1)fontSize=12;if(msize==2)fontSize=14;47 if(msize==3)fontSize=16;if(msize==4)fontSize=18;tv.setTextSize(fontSize);}publicstaticvoidsetFontSize(ContextmContext,intmsize){SharedPreferencessp=mContext.getSharedPreferences("reader_settings",Context.MODE_WORLD_WRITEABLE);EditorspEd=sp.edit();spEd.putInt("font_size",msize);spEd.commit();}1.1.1颜色设置背景颜色和文字颜色通过预设背景图片和文字颜色进行更改。privatevoidsetViewTheme(intmtheme){if(mtheme==1){tv.setBackgroundColor(Color.WHITE);tv.setTextColor(Color.BLACK);}if(mtheme==2){tv.setBackgroundColor(Color.BLACK);tv.setTextColor(0xe3e3e3ff);}if(mtheme==3){tv.setBackgroundResource(R.drawable.bg);tv.setTextColor(Color.WHITE);}}publicstaticvoidsetTheme(ContextmContext,intmtheme){SharedPreferencessp=mContext.getSharedPreferences("reader_settings",Context.MODE_WORLD_WRITEABLE);EditorspEd=sp.edit();spEd.putInt("theme_set",mtheme);spEd.commit();}1.2数据容器模块47 作为基础数据模块,基本上的模块都会调用该模块完成数据的存取,包括像是文档浏览器的显示,书签的存取和展示等动作。staticListgetReaderDataBase(ContextmContext){SQLiteDatabasedb=mContext.openOrCreateDatabase(DB_NAME,Context.MODE_PRIVATE,null);Cursorcur=db.query(TB_NAME,newString[]{"id","title","filename","po_int"},null,null,null,null,null);Listlist=newArrayList();cur.moveToFirst();while(!cur.isAfterLast()){ReaderTagstag=newReaderTags();tag._id=cur.getInt(0);tag.title=cur.getString(1);tag.filename=cur.getString(2);tag.position=cur.getInt(3);list.add(tag);cur.moveToNext();}db.close();returnlist;}staticvoidinsertDataBase(ContextmContext,Stringtitle,Stringfile,intpos){MyHelperhelper=newMyHelper(mContext,DB_NAME,null,1);SQLiteDatabasedb=helper.getWritableDatabase();ContentValuesvalues=newContentValues();values.put("title",title);values.put("filename",file);values.put("po_int",pos);db.insert(TB_NAME,"id",values);db.close();values.clear();}1.1测试与运行在本软件编写中,主要用到的测试方法是尝试测试,单元测试和总体测试,首先从框架入手,构建框架后进行测试回馈,将模块细分,了解错误来源;之后将模块整体化进行测试,以上两个部分是在开发过程中进行,完成即测试。最终整合所有模块,进行总体的综合测试以及小范围用户测试,以便了解用户需求,完善软件。47 总结本次的毕业设计,我接触了Android这个新鲜而且热气腾腾的开发平台,利用EclipseIDE工具和AndroidSDK的帮助实现了软件的设计与开发。虽然采用了正确的开发工具,系统的开发速度比较快,维护方面也比较容易,但由于本人没有大量的软件开发经验,没有良好的编程习惯,软件出来也可能会有很多的漏洞,软件也不是很完善,希望大家能够海涵。在开发的过程中,我阅读了较多的资料,尤其因为整个平台的新颖,而使得很多中文资料不足,主要依靠Google官方提供的文档和国外一些出版社出版的Android开发书籍以及网络上众多网友的前期经验进行参考,在此我特别感谢《Google!Android2手机应用程序设计入门》[M]正是这本书将我一步一步带入门的。由于对这个崭新的平台的认识不足,我在开发过程中走了不少的弯路。这次开发的软件也只是应用了该平台上一些基础的功能,成品软件虽然特别小巧,符合大众趋势,但是设想中的软件功能也并没有全部完成,留下了一些遗憾。主要的不足在于:1.缺乏友善的UI界面。2.不能适应众多的文本的编码格式。3.文本分页显示、历史记录等实用功能没有实现。4.文本载入没有进行优化从技术难度上而言,这些功能中有一部分都是能够在一定的时间内加以完成的。出于笔者的个人兴趣所致,今后将在这些方面继续完善该软件,希望大家能够使用的更方便。47 参考文献[1]姚昱旻,刘卫国.Android的架构与应用开发研究[J].计算机系统应用,2008,(11):110-112.[2]温敏,艾丽蓉,王志国.Android智能手机系统中文件实时监控的研究与实现[J].科学技术与工程,2009,(07):1716-1719.[3]陈木生.GoogleAndroid手机推出市场分析[J].电子与电脑,2008,(12):10-14.[4]公磊,周聪.基于Android的移动终端应用程序开发与研究[J].计算机与现代化,2008,(08):85-89.[5]JonesMT.AccesstheLinuxkernelusingthe/procfilesystem[EB/OL],http://www.ibm.com/developerworks/linux/library/l-proc.html.[6]陈昱,江兰帆.基于GoogleAndroid平台的移动开发研究[J].福建电脑,2008,(11):156-157.[7]李亮.Android系统开发问题杂谈[J].程序员.2009,(7):116-117.[8]GoogleInc.AndroidSDKDocumentation[EB/OL],http://code.google.com/android/documentation.html.[9]RickRogers,JohnLomardo,ZigurdMednieks等.AndroidApplicationDevelopment:ProgrammingwiththeGoogleSDK[M].US:O’ReillyMediaInc.May2009.[10]SayedY.Hashimi,SatyaKomatineni,DaveMaclean.ProAndroid2[M].US:APressFeb2010.[11]RetoMeier.ProfessionalAndroid2ApplicationDevelopment[M].US:WileyPublishing,Inc.Feb2010.[12]余志龙,陈昱勋,郑名杰等GoogleAndroidSDK开发范例大全[M]北京:人民邮电出版社,2009.9[13]MarkMurphy.BeginningAndroid2[M].Apress,2010.[14]陈彦文,彭亦暄.androidiphonewindowsmobile手机程式设计.[M]台北市:旗标,2010.06[15]LarsVogelAndroidDevelopmentTutorial-Gingerbread[R]LarsVogel20.03.2011[16]ADevelopersWhatisAndroid?[EB/OL]http://Gcodebank.com47 47

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭