ImageVerifierCode 换一换
格式:DOC , 页数:41 ,大小:671.04KB ,
资源ID:5009803      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/5009803.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(基于Android手机电子书阅读器设计与实现.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于Android手机电子书阅读器设计与实现.doc

1、中文题目: 基于android的手机电子书阅读器的设计与实现外文题目: Based on the design and realization of the android mobile phone e-book reader姓名:刘椿旸毕业设计(论文)共 42页(其中:外文文献及译文2页)完成日期 2013年6月 答辩日期2013年6月摘要Android电子书就是通过Android手机或者安装了Android系统的平板电脑进行阅读的电子书,它的来源是互联网上的各种小说资源,早期电子书只能在网上阅读,随着手机的不断发展,逐步转变为可下载在手机平板电脑里阅读的电子书。当今的阅读平台可以为用户提供

2、以移动终端(包括手机、手持阅读终端)为主要阅读载体,以WAP、客户端和手持阅读终端为主要业务方式,以WWW和彩信方式作为补充。通过对Android阅读器的研究逐步深入研究Android系统下软件的研发。通过开发逐步深入了解Android开发技术。初步了解开发的项目,能够独立修改一些系统中简单的Bug,并且对Android软件的开发流程、开发方法以及Android开发技术有了一定的了解。然而我所开发的电子书软件是一款这样的电子书。通过chinamobile提供的开源接口,在线阅读时流量费全免,可以为用户省去很大一笔开支,而内置的书库已经有上万本制作优秀的各类读物,除了普通的文字阅读之外,还有漫画

3、、杂志等以图片为主的书籍,内容相当丰富。CMRead的软件层级结构非常清晰,可大致分为:登陆页主界面频道页详情页内容页五大部分,这对于一款阅读软件来说是非常重要的,首次登录时看到的欢迎画面还可以自动记录上次的阅读记录,不管是在阅读中退出软件,还是意外断电关闭了CMRead,它都能够完成记录功能。关键词:Android;电子书;阅读器;手机阅读器ABSTRACTAndroid is through the Android mobile phone or ebooks installed the Android system of the tablet computer for reading e

4、books, it is the source of all kinds of novel resources on the Internet, early reading on the web only ebook, along with the continuous development of mobile phones, change to can download on the phone in the tablet computer reading ebooks. Todays reading platform can to provide users with mobile te

5、rminal (including mobile phones, handheld reading terminal) as the main reading its carrier, WAP, client and hand-held reading terminal to the main business way to WWW and MMS way as a supplement. Through the research of Android reader gradually further study under the research and development of th

6、e software system of Android. Through the development and change of the operation of company is developing project gradually in-depth understanding of Android development technology. Preliminary understanding the project team in development program, and can modify some independent system simple, and

7、 Android software Bug of development flow, the development method and Android development technology have certain of understanding. But CMREAD-cell phone reading is a such an ebook. Its biggest characteristic is online to read flow fee is totally free, can save a large sum for the user, and built-in

8、 stacks spending has tens of thousands of the books of all kinds of making excellent, in addition to regular text reading, but also the comic, magazines and books, give priority to with pictures content quite rich. CMRead software level structure is very clear and can be roughly divided into: the la

9、nding page-the interface-channel page for details and the content page, page five most, this to a reading software it is very important, first login see welcome images can also be automatically record last reading record, both in the reading out of software, or accidental shut down, it CMRead power

10、to complete the function of record. Keywords: Android; Ebook; Reader; Mobile reader I目录摘要IABSTRACTII引言11 项目概述21.1 背景介绍21.2 运行环境21.3 目的和意义21.4 研究现状31.5 软件整体框架42 可行性研究52.1 技术可行性52.1.1 软件支持52.1.2硬件支持62.2 开发语言支持63 需求分析73.1 整体思路83.2 Android所提供的jar包93.3 Android gen目录104 系统概要设计114.1 Android整体框架设计114.2 Acti

11、vity活动设计134.3 ViewGroup结构分析155 系统详细设计175.1 Loading页详细设计175.1.1 关于ProgressBar的研究175.1.2 关于TextView的研究175.1.3 关于Button的研究185.2 专区BoutiquesActivity模块195.2.1 LinearLayout研究195.2.2 关于ImageView的研究205.2.3 关于AlertDialog研究205.2.4 对于促销包二次确认设计215.3 XML的深入剖析215.4 Intent意图分析225.5 如何将文件存入SDcard226 系统编码237 系统测试257

12、.1 测试用例267.2 专区页面27结论28致谢29参考文献30附录A中文译文31附录B英文原文33辽宁工程技术大学毕业设计(论文)引言对移动开发人员来说,现在是一个令人心潮澎湃的时代,手机从来没有像今天这样流行,强大的智能手机产品已经为消费者所普遍接受。现在,外观时尚且用途广泛的手机带有GPS、加速计和触摸屏等硬件功能,并且具有固定费率且定价合理的数据计划。因此,他们成为了吸引越来越多的开发者创建各种新颖有趣的一定应用程序的平台。 现在,市面上有大量的Android设备可供消费者选择,包括带有QVGA屏幕的手机和诸如Moto Droid以及Google Nexus One这样强大的WVGA

13、设备,但是真正的赢家却是开发人员。由于现在的手机应用程序的开发是构建在各手机厂家的私有操作系统之上的,所以他限制了第三方应用程序的开发和部署,而Android开发人员可以自由地编写能够充分利用日益强大的手机硬件的应用程序,并在一个开放的市场上销售他们。 因此,随着移动设备的销售量的不断增长,开发者对于Android设备的兴趣也出现了爆性的增长,在2009年和2010年前半年,包括HTC、Motorola、LG、Samsung和SonyEricsson在内的OEM发布了超过20种Android手机。超过26个国家的32家以上的运营商都提供了Android设备。由于Android构建在开源代码的框

14、架之上,并且提供了强大的SDK库和开放的理念,所以为广大的没有任何移动应用程序开发经验的新手开辟了一条开发完美移动应用程序的大道。而富有经验的移动开发人员现在可以方便地扩展到Android平台上来,利用它独特的功能来改进现有产品或者开发其他新颖的产品。通过使用AndroidMarket,开发人员可以利用开放的市场向所有兼容的Android设备发布免费或者收费的应用程序,而不需要经历审查过程。 Google的理念是尽快发布,然后不断更新。自从2008年10月Android第一次完整发布以来到今天2011年5月20日我写毕设,共推出8个平台和SDK版本。Android其实是一个开源的软件栈,他包含

15、了操作系统、中间件和关键的移动应用程序、以及一组用于编写移动应用程序的API库。在Twitter和Facebook出现之前,当Google还只是个想法的时候,手机只是个便携电话,能够放在一个公文包里,而现在,小巧、时尚而且功能强大的手机已经相当普及并且补课或缺。硬件的发展使手机在拥有越来越多的外围设备的同时也变得更加小巧和高效。过去那些通常使用C或者C+进行编程的开发人员必须理解在其上编写代码的特定硬件,后来人们开发出了Symbian这样的平台,从而给开发人员提供了更广泛的目标用户群(target audience)。在鼓舞移动开发人员开发更加丰富的应用程序以便更高效地利用硬件方面,这些系统比

16、上述那些封闭的方法更加成功。 1 项目概述1.1 背景介绍Cmread手机开发的研发是基于Android平台下适用于Ophone 1.5 、Ophone 2.0 、Ophone 2.5以及Android各个版本手机和移动手持设备的电子书软件,而我则根据移动service提供的接口进行的手机阅读器的开发。此软件通过手机或者手持设备连接网络对电子书进行阅读,也可以通过网络下载到本地进行阅读,Cmread是基于chinamobile提供的开源接口进行的开发的app。1.2 运行环境为了能很好的进行Android软件的开发,公司为我提供了以下的软、硬件环境配置,如表1-1,表1-2所示:表1-1 硬件

17、坏境配置表Tab1-1 Hardwares environment configuration table开发所用电脑的硬件:Core 2 Duo CPU T7500,2.19 GHz,2G内存,17寸液晶显示器开发所用到得模拟器: MotoMileStone 2 ,HTC 天玺 ,三星 平板电脑表1-2 软件环境配置表Tab1-2 Software environment configuration table开发软件:Eclipse-GALILEO,droiddraw ,ADT ,AndroidSDK开发所用操作系统:Windows XP 其中ADT和Android-sdk是安装在Ecli

18、pse下的Android运行环境以及Android虚拟机为了更好更方便的对Android进行开发,这些都必不可少,而droiddraw则是用于开发Android视图界面的可视开发工具。1.3 目的和意义学习关于嵌入式中Android的开发,从中掌握Android语言的开发android由于是在linux内核上加载为手机开发的dalvik虚拟机,保证了全平台手机软件的通用性,这点上比塞班做的号。因为其开源的特性,任何人都能为其开发软件,目前软件数量已经超过20万。界面可定制性高,可玩性很强。缺点的话,版本升级太快,一些早期的机子已经有些跟不上了。但总之是一个很有前途的系统。当然原来没有接触过An

19、droid的语言,所以面临的困难重重,但是由于对JavaSE比较熟悉,所以学起Android来会快很多。Android属于JavaME的一种延伸,我想我会在最短的时间里迅速掌握这门新兴的技术。选这个题目的意义是解决如今Android手机、平板电脑等电子产品对于阅读器开发存在的问题,当今电子产品自带的阅读器都存在操作复杂、运行速度慢、不够美观等问题。所以我要通过对Android的嵌入式电子书的调查和研究来解决这些问题。1.4 研究现状Android系统是开放手机联盟(OHA)共同研发并有Google主导开发的一款用于移动设备的开源操作系统。与目前的智能手机平台霸主Symbian相比,反应快,界面

20、好,支持的程序也多,有着众多实力雄厚的手机制造商和程序开发商作为坚实的后盾。最重要的是支持多任务并行处理。 至于前景问题,由于Google的先期大力推广,加上众多手机制造商的极力配合,基于Android操作系统的设备更是层出不穷,甚至著名的Windows Mobile手机制造商HTC已经公开称在2010年将会把基于该系统的智能手机的出货量调节至总出货量的50%或者更多。Andriod实际上是基于Linux的移动平台,主要是Linux内核,并不像其他人讲的操作系统。Andriod使用很多开源组件,而且Andriod绝大部分组件都是Andriod发布的。Andriod设计时候就是以移动业务为中心,

21、很多设计、很多理念都是面向移动设备的,比如可以在非常有限的资源里发挥很高的性能需要,它设计一种非常简便的架构,使得应用之间可以互相组合。我们成立了开放手机联盟,包括移动手机设备制造商、软件开发商,还有中间件提供商,当然缺不不运营商,中国移动和中国联通都是联盟的成员,我们的目标是共同推动开放平台。 Andriod架构,移动平台下驱动肯定跟桌面平台下的驱动不太一样,有一些特定设备,比如有GPS、手机模块,甚至还有传真等等,会有些相应的驱动,跟其他开放的基于Linux平台不太一样的地方是Andriod不是基于Linux完整的系统,Linux之上是Andriod定制的一些开发应用框架,绿色部分是用C语

22、言或者C+语言开发的系统库,有一些多媒体库。这些库是基本的架构,提供一些系统最基本的服务支撑。值得一提的是在Andriod里,Andriod是完全面向移动设备的,很多东西都定制化,比如C库,不像很多人想的那样,AndriodC库是完全定制化的,C库是专门为移动设备定制的,有很多特点,非常小,性能非常好。基于这些基本的系统库,我们有一个Andriod应用程序开发语言,是JAVA,JAVA很好特点是开发起来非常简单,而且会JAVA的程序员非常多,开发门槛大大简单于传统的C语言或者C+语言,而且JAVA有一套非常完整开发环境的支撑,非常非常好用,跟传统JAVA不太一样的是Andriod提供自己的JA

23、VA虚拟机,专门为移动设备定制的,性能更高,有特别多的特殊优化,提高JAVA性能。1.5 软件整体框架 这是软件的整体上的开发框架如图1-3所示:底层架构由SDK和ADT完成阅读器主页面读取SDcard内文件名称列表读取选中电子书文件后转阅读页实现多种关于阅读器功能各种读取文件的效果以及解码图1-3 软件整体结构图Fig 1-3 Softwares integral structure352 可行性研究2.1 技术可行性本系统拟采用的技术如下:2.1.1 软件支持1) Eclipse- GALILEOEclipse是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框

24、架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。 Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的

25、开发平台。它提供建造块和构造并运行集成软件开发的工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。 Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方的软件组合而成。Eclipse项目生产的软件以 GPL发布,第三方组

26、件有各自自身的许可协议。2) DroidDrawDroidDraw 是一个基于Java Swing的Android可视化界面设计器,我们可以通过它来生成复杂的Android Layout XML文件,据作者介绍,Android的Layout和Swing Layout中有很好的对应,设计器的代码编写起来还是比较容易的。 Android下,高级组件,通过xml来配置,书写,然后程序装载这个xml资源显示在屏幕上。虽然官方提供了ide得插件,可以更方便得编辑xml, 但是用起来还是很不方便得,因为不能所见及所得得设计界面。3)Android-SDKSDK:(software development

27、kit)开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。 因此!Android SDK 指的既是Android专属的软件开发工具包。 Android是谷歌(Google)公司推出的手机开发平台。 与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。2.1.2硬件支持1)Window XP 操作系统计算机2)Android、Ophone各个版本

28、手机公司提供了Android、Ophone 各个版本的手机如:Moto MileStone 2 、HTC 9188、HTC8188、三星I9000等手机用来调试和测试软件。 2.2 开发语言支持Android开发是基于Java上进行编译,Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。Java的诞生是对传

29、统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响。软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。在此基础上形成了Java.2平台和.Net平台两大派系,推动了整个IT业的发展。对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商,构件提供商,服务器软件以及咨询服务商出现。企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的

30、增长,新的商机,新的管理。对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质。 总之,目前以看到了Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。3 需求分析软件由底层框架支撑,通过各个模块的组合以及通过各个视图的交互性来实现软件的功能,软件通过庞大的视图UI模块Block来不断的进行代码的复用,增加了软件的利用性和软件的健壮性,最后需要对软件进行合理的优化。 软件由“图书” 、“漫画” 、“杂志” 、“听书” 、“书架” 、“排行” 、“

31、专区” 、“空间” 这些模块组成,各个模块间依靠着TabGroup进行切换,在各个模块中,如果想跳转新的视图,需要运用intent意图来达到视图间的交互。 其中图书模块中又包含首页、分类、最新、特惠、名家、排行几个部分,漫画模块包含首页、分类、完结、专题、排行这几个视图,杂志模块包含首页、分类、最新、热点、排行,听书模块仅有一个首页视图,书架包含书签、下载、收藏、订购、预订视图,排行包含三个视图分别是图书、漫画、杂志。专区模块包含专题、包月、活动三个视图,空间模块包含消费、消息、赠送、个人这几个模块。 其中用户与软件系统之间的交互性如图3-1: ChinaMobile 我图3-1 客户与部门关

32、系图Fig 3-1Our customers and department relationship chart3.1 整体思路 如图3-2所示整体功能结构图图3-2项目整体功能结构图Fig 3-2 Overall function structure diagram此项目为Android 2.3版本下的,同时包含中国移动提供开源的2个jar包(机密)如图3-3所示软件整体结构为:图3-3软件整体架构示意图Fig 3-3 Software overall structure schematic drawing3.2 Android所提供的jar包这里我简单的描述下Android下存在的几个ja

33、r包,如图3-4所示,首先说下Manifest.class这个文件,这是软件最重要的核心类,所有的Activity活动以及users-permission以及intent意图等都保存在这个类中,R.class这个文件是Eclipse软件为开发者自动生成的文件,用于保存数据、图片等外部资源的地址,在我个人开来关系很像堆和栈的关系,这个R文件就如同栈,而外部资源就是堆。至于Predicate.class这个文件是用于连接。.图3-4 Android 2.3中的各个jar包Fig 3-4 each jar bags of Android 2.33.3 Android gen目录Android具有它自

34、身的特殊性,它将外部资源和代码分离开便于调试和修改,为了更好的引用Android的外部资源,Android将外部资源地址变成R.的形式的地址代码自动生成在gen目录的R文件中,所图3-5所示:图3-5 gen目录下的文件Fig 3-5 Each files of gen其中anim是在R文件下存放软件动画的XML的地址,array文件存放数组型数据,color存放颜色,dimen存放文字的大小设定,drawable存放图片信息,id存放文本,layout存放视图结构,String存放文本,Style存放视图风格。4 系统概要设计4.1 Android整体框架设计Google的目标是让移动通讯不

35、依赖于设备甚至平台。出于这个目的,Android将补充,而不会替代Google长期以来奉行的移动发展战略。通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。Android组成框架的一个重要特点就是它的应用框架和GUI库都用Java语言实现。Android内部有一个叫作Dalvik的Java虚拟机,Java程序由这个虚拟机解释运行。Android平台的应用程序也必须用Java语言开发。网上有评论说Android的虚拟机使用Apache的Harmony类库。Harmony类库是Apache组织开发的开源 Java类库,用Apache许可证发布。An

36、droid应用框架采用了Mash-up的组件模型:组件(Activity) 向系统注册自己的功能。每个组件要使用其它组件的服务时提出自己的要求(intent),系统根据intent在已登记的组件中确定合适的组件。Android平台的API文档很完善。基于Android平台开发应用软件应该是一件轻松、愉快的事情。但是,选择Android平台存在以下问题:Google目前只开放了SDK。即应用软件的开发接口,没有开放中间件的源代码。在没有源代码的情况下,也可以把Android移植到兼容的开发板(CPU核采用ARMv5指令集)上,但因为不能定制而无法将其用于实际产品。但无论怎么优化,Java程序的速

37、度是肯定不如原生代码的。Google的Mash-up的思想虽然不算新颖,但在嵌入式环境中投入实用,也是一个新的尝试。设计总有取舍,Google的选择是否合理,还需要实践检验。在没有源代码的情况下,也可以把Android移植到兼容的开发板(CPU核采用ARMv5指令集)上,但因为不能定制而无法将其用于实际产品。Google现在没有明确什么时候发布中间件的源代码。其实Google也没有明确说过将发布中间件的源代码。Google说Android组成框架是“the first complete, open, and free mobile platform”。在英文中“free”既可以解释成“自由”,

38、也可以解释成“免费”。如何解释完全在于Google。我觉得Google最想抓住的是 应用软件的开发者,即希望公司和个人都学习它的SDK。为它的平台开发应用软件。Google肯定会和厂家合作,开发支持Android平台的手机。但 Google是否会在网络上完全开放中间件代码,还是个未知数。如果Google完全开放这个平台,那么与J2ME类似,各公司肯定会在这个平台上添加自己的扩展,使各平台不能完全兼容。所以,Google很可能用商业手段来保证Android平台的一致性。4.2 Activity活动设计在Android开发中Activity非常重要,在一个应用中,每一个现实的屏幕都是一个Activ

39、ity,而Activity的生命中期尤为重要,这里我简单说下他的7个生命周期:onCreate,onStart,onRestart,onResume,onPause,onStop,onDestroy。Activity处于栈顶,且是可见的,有焦点的,能够接收用户输入前景Activity。OPhone Runtime将试图不惜一切代价保持它活着,甚至杀死其他Activity以确保它有它所需的资源。当另一个Activity变成Active时,当前的将变成Paused状态。 Paused状态:在某些情况下,你的Activity是可见的,但没有焦点,在这时候,Actvity处于Paused状态。例如,如

40、果有一个透明或非全屏幕上的Activity在你的Actvity上面,你的Activity将。当处于Paused状态时,该Actvity仍被认为是Active的,但是它不接受用户输入事件。在极端情况下,OPhone Runtime将杀死Paused Activity,以进一步回收资源。当一个Actvity完全被遮住时,它将进入Stopped状态。 Stopped状态:当Activity是不可见的时,Activity处于Stopped状态。Activity将继续保留在内存中保持当前的所有状态和成员信息,假设系统别的地方需要内存的话,这时它是被回收对象的主要候选。当Activity处于Stopped

41、状态时,一定要保存当前数据和当前的 UI状态,否则一旦Activity退出或关闭时,当前的数据和UI状态就丢失了。Inactive状态:Activity被杀掉以后或者被启动以前,处于Inactive状态。这时Activity已被移除从Activity堆栈中,需要重新启动才可以显示和使用。 状态过渡具有不确定性并且由OPhone Runtime完全管理。OPhone Runtime将首先杀掉处于Stopped状态的Activity,在极端情况下,也会杀掉那些处于Paused状态的Activity。为确保无缝的用户体验,这些状态之间的过渡对用户来说应该做到透明的。不管Activity处于那种状态,

42、最重要的是保留好UI状态和用户数据,一旦Actvity被激活,用户都能看到他想要的东西。关于Activity的生命周期如图4-1所示:图4-1 Activity生命周期Fig 4-1 The life of ActivityAcivity中的设计为窗口形式,在窗口下为视图建立LinearLayout视图,而LinearLayout结构下,创建了RelativeLayout关系结构与文本视图TextView组成,而RelativeLayout结构中包含2个UI组件分别是Button按钮和ImageView图像视图,其结构图如图4-2所示:图4-2 Android Activity结构示意图Fig

43、 4-2 Structure schematic of Activity4.3 ViewGroup结构分析ViewGroup是个特殊的View,它继承于Android.view.View。它的功能就是装载和管理下一层的View对象或ViewGroup对象,也就说他是一个容纳其它元素的的容器。ViewGroup是布局管理器(layout)及view容器的基类。 ViewGroup中,还定义了一个嵌套类ViewGroup.LayoutParams。这个类定义了一个显示对象的位置、大小等属性,view通过LayoutParams中的这些属性值来告诉父级,它们将如何放置。ViewGroup是一个抽象类

44、,所以真正充当容器的是他的子类们。为了更直观的分析ViewGroup的组成和结构,观察图4-3所示:图4-3 ViewGroup结构示意图Fig 4-3 Structure schematic of ViewGroupViewGroup不仅仅可以包含View视图,它同时可以嵌套ViewGroup,以树形结构不断延伸,Activity是Android程序的显示层,每一个显示窗口都是一个Activity;可是Activity本身无法显示在屏幕上,可以把它理解成是一个抽象层,一个壳子;就譬如一个JSP页面,它本身并没有显示出来任何东西,负责显示的是他生成的HTML标签。那么Android里谁才是真正

45、显示出来的部分?是View和ViewGroup,而ViewGroup其实也是View的子类。首先UI组件是按层次结构来由外到内的方式逐步展示的。要将一个屏幕元素层次树绑定在一个屏幕上显示,Activity会调用它的setContentView()方法并且传入这个层次树的根节点引用。当Activity被激活并且获得焦点时,系统会通知activity并且请求根节点去计算并绘制树,根节点就会请求它的子节点去绘制它们自己。每个树上的ViewGroup节点会负责绘制它的子节点。ViewGroup会计算它的有效空间,布局所有的子显示对象,并最终调用所有的子显示对象的 Draw()方法来绘制显示对象。各个子

46、显示对象可以向父对象请求它们在布局中的大小和位置,但最终决定各个子显示对象的大小和位置的是父对象。Android程序借助View和ViewGroup对象来构建用户界面。Android提供了比HTML多得多的,现成的用户界面组件。5 系统详细设计5.1 Loading页详细设计Loading页面是软件在开启的时候第一个View视图,所以绚丽的动画效果和精美的图片是必不可少的,为了达到此效果,公司的美工下了不少的力气,而Loading视图分为几个模块来进行处理,这里有2个TextView和一个ProgressBar以及一个Button按钮。5.1.1 关于ProgressBar的研究Progres

47、sBar 控件有一个行程和一个当前位置。行程代表该操作的整个持续时间。当前位置则代表应用程序在完成该操作过程时的进度。Max 和 Min 属性设置了行程的界限。Value 属性则指明了在行程范围内的当前位置。由于使用方块来填充控件,因此所填充的数量只能是接近于 Value 属性的当前设置值。基于控件的大小,Value 属性决定何时显示下一个方块。 ProgressBar 控件的 Height 属性和 Width 属性决定所填充控件的方块的数量和大小。方块数量越多,控件就越能精确地描述操作进度。为了增加显示方块的数量,需要减少控件的 Height 或者增加其 Width。BorderStyle 属性的设置值同样影响方块的数量和大小。为了适应边框要求,方块的大小要更小一点。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服