基于Android的无线手机助手毕业设计(论文)开题报告.doc

上传人:仙人指路1688 文档编号:2394060 上传时间:2023-02-17 格式:DOC 页数:29 大小:160.50KB
返回 下载 相关 举报
基于Android的无线手机助手毕业设计(论文)开题报告.doc_第1页
第1页 / 共29页
基于Android的无线手机助手毕业设计(论文)开题报告.doc_第2页
第2页 / 共29页
基于Android的无线手机助手毕业设计(论文)开题报告.doc_第3页
第3页 / 共29页
基于Android的无线手机助手毕业设计(论文)开题报告.doc_第4页
第4页 / 共29页
基于Android的无线手机助手毕业设计(论文)开题报告.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《基于Android的无线手机助手毕业设计(论文)开题报告.doc》由会员分享,可在线阅读,更多相关《基于Android的无线手机助手毕业设计(论文)开题报告.doc(29页珍藏版)》请在三一办公上搜索。

1、毕业设计(论文)开题报告(含文献综述、外文翻译)题 目 基于Android的无线手机助手 姓 名 沈晓晨 学 号 30902155 专业班级 信息0901 所在学院 信电学院 指导教师(职称) 鲍福良(讲师) 二一二年十一月十六日毕业设计(论文)开 题 报 告(包括选题的意义、可行性分析、研究的内容、研究方法、拟解决的关键问题、预期结果、研究进度计划等)1. 选题的背景和意义Android手机的出现为人们的生活和工作带来了极大的改善,它可以安装各式各样的应用程序,为手机增添更多丰富的功能。用户每天都会下载安装各种新的应用到自己的手机里,抑或是下载各种音频、视频、图片、文字储存到内存卡里以便将来

2、在能在任何地方浏览。然而Android手机繁杂的文件存储操作和应用程序的安装卸载成了各位“机友”的困扰,他们想在第一时间体验最新最有趣的应用,想以最快的速度将电脑里的文件传到手机中。大多数情况下这一切都会通过将电脑与手机通过数据线连接才能完成,而有了无线手机助手,只要在任何有无线局域网的地方都能无须数据线轻松搞定。1.1 选题的背景2007年11月由Google牵头有30多家移动技术和无线应用领域领先企业组成的开发手机联盟(Open Handset Alliance)发布了其智能手机平台Android。Android是一个真正意义上的开放性移动设备综合平台,包括操作系统、用户界面、中间件和应用

3、程序,拥有移动电话工作所需的全部软件,同时其开放性保证该平台不存在任何阻碍移动产业创新的专有权障碍1。Android是由谷歌主导开发的,它由Linxu Kernel、C/C+编写的类库、一个用以运行代码的类似Java的虚拟机、移动终端必需的应用程序组成。Android通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动终端软件平台,在移动产业内形成一个开放式的生态系统,应用之间的通用性和互联性将在最大程度上得到保持2。Android系统架构自底向上由以下4个层次组成:基于Linux的内核模块、运行时库与其他库、应用程序框架、应用程序。基于 Linu

4、x 的内核模块Android 内核基于 Linux 2.6, 提供安全、 内存管理、进程管理、网络组、驱动模型等核心服务。 同所有Linux 内核一样,Android 内核是介于硬件层和软件组之间的一个抽象层次。运行时库与各种程序库运行时库实质是一款Java重新设计的虚拟机Dalvik,它包含J2SE所提供的绝大部分功能。每个Android 应用都运行在自己的进程上,Dalvik 虚拟机为它分配自有的实例。Dalvik使一台设备能运行多个虚拟机程序但消耗较少的资源。在 Android 中,编译器将Java源文件转为class文件,内置的dx工具又将class文件转化为Dex文件,Dex文件是在

5、Dalvik虚拟机上运行程序的标准格式。各种程序库3:包含一套C/C+库,Android的各式组件都可使用。这些功能通过组件间接提供给开发者。这些库包括图形框架、媒体功能库、Webkit、及SQLite数据库,等等。Android基于Linux操作系统,由硬件、系统内核、系统服务和应用程序等四大部分4组成。其中,内核(Kernel)是最核心的部分,其主要作用在于与计算机硬件进行交互,实现对硬件的编程控制和接口操作,调度访问硬件资源,同时向应用程序提供一个高级的执行环境和对硬件的虚拟接口4。主要功能包括:中断服务程序、进程调度程序、进程地址空间的内存管理、进程间通信5。内核与普通应用程序不同,其

6、拥有所有硬件设备的访问权限以及启动时即划分的受保护的内存空间6。Android平台的架构层次分明,图1.1是Android平台的架构图9图1.1 Android平台的架构图1.2 国内外研究现状1.2.1 国内外手机系统现状目前国外各软硬件厂商已经推出过多款手机操作系统。下面简单介绍一下现主流手机操作系统。现阶段使用较广泛大家也相对熟悉的手机操作系统是由诺基亚公司主导推出的Symbian 操作系统。Symbian是为手机而设计的操作系统,它是一个实时性,多任务的纯32位嵌入式的操作系统,具有低能耗,内存占用较少等特点。现在流行的Symbian系统有以下四个版本,分别为S40、S60(第二版)、

7、S60(第三版)、S60(第五版)。S60(第五版)为触摸屏手机版本。iOS是由苹果公司为iPhone开发的操作系统。它主要是给iPhone、iPod touch以及iPad使用。就像其基于的Mac OS X操作系统一样,它也是以Darwin为基础的。iOS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。系统操作占用大概240MB的存储器空间。Windows Mobile 系列操作系统是从微软计算机的Win

8、dows操作系统演化而来的。Windows Mobile系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件配置(如内存、储存卡容量等)上也比采用其它操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。PalmOS属于Palm公司开发,是一种32位的嵌入式操作系统,是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小。现在多用Paml公司生产的手机上。该系统允许用户在其基础上编写和修改相关软件,使支持的应用程序更加丰富多彩。Palm系统与其他手机系统相比在其它方面也还存在一些不足,如Palm操作系统

9、本身不具有录音、MP3播放功能等,但是可以通过加入第三方软件或硬件设备来实现。相对国外手机系统百花齐放的局面,国内手机操作系统则处于刚起步的阶段。目前国内还没有自主研发并商品化的手机操作系统。当然近些年来国内企业和我国政府在这方也投入了大量的人力和物力。同时也取得了一定成果。在2009年8月,由中国移动所主导开发OPhone平台面世。OPhone平台采用开源的Linux作为系统内核,借鉴并兼容Android平台,集成灵活高效的Java应用框架,充分借鉴当下主流手机操作系统所具有的良好用户体验,提供了一套完整的电话解决方案和各类移动数据业务解决方案。1.2.2 国内外手机应用现状目前国内外手机应

10、用服务方向主要有基于地理位置的信息服务(Location Based Service LBS)它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(Geographic Information System,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务。例如手机定位,导航服务。 近年来十分热门的网络社交服务(Social Networking Services)也已进入到手机客户端领域。例如国内有名的社交网站人人网已经针对Iphone,android,塞班等手机平台推出了手机客户端

11、。国外最大的社交Fackbook也已经传出正在进行针对手机的产品的研发。Twiter,Myspace等国外知名社交类网站都已经推出手机版。国内淘宝网旗下口碑网在今年也已经推出针对多个手机平台的客户端程序。MSN,QQ等即时通信类的应用也已经在各个主流手机平台推出。手机办公类软件在手机上也正日趋完善,在手机上编辑查看各类文档已经实现,在android平台上的QuickOffice就是这样的软件。在Google Play(一个谷歌针对android系统用户所开发的应用商场)上已经有过万的企业应用办公套件。1.3 发展趋势终端智能平台快速发展竞争加剧iPhone在全球的热卖,使苹果在智能手机平台中的

12、份额直线上升;谷歌则联合众多产业链伙伴倾力打造开源的Android软件平台,不仅国际品牌终端厂商积极推出Android平台终端产品,在山寨机市场上,也已出现二十几款Android产品;微软则用集成了Xboxlive与Zune播放器的windows phone7series,完全颠覆了Windows mobile的传统形象,带来全新的UI、出色的游戏与多媒体功能;高通则在BREW的基础上,构建了BMP智能平台,深层结合高通芯片,提供了低成本智能终端解决方案;诺基亚则在继续推进Symbian的同时,与英特尔合作推出了MeeGo的全新操作系统。三星公司也推出了自有操作系统Bada7 。在Androi

13、d尚未站稳脚跟的上网本战场迅速出击,既挖掘新的移动互联网商机,同时也打乱对方策略,是诺基亚利益所在,也是无奈之举12。Google公司2005年收购Android一举体现出长远的战略眼光,利用Android平台拿下手机市场可能只是其整体布局的开端。近年来,云/端计算与网络服务、物联网技术的兴起为整个IT领域带来了巨大商机。Androi要想抢占市场商机,仅仅瞄准手机市场是不够的。有学者称,从2011年以后三年左右的时间,智能家庭(CE)将会是Android成长的最大机遇所在8。目前基于Android的智能手机在全球手机市场保持强劲增长,市场占有率的大幅提升也促进了Android手机应用服务市场的

14、迅速展。随着国内外更多OEM终端厂商支持Android平台发展,预计Android智能手机将在中国市场获得更快速的发展。随着3G应用的不断开发推广,用户会越来越需要更加个性化、优质化的多媒体数据服务,用户希望能够随时、随地无缝利用3G网络进行办公、网上交易、游戏娱乐、欣赏影视节目、收听和下载音乐等。根据观察,在不久的将来,移动手机终端将会在以下若干方面具有新的发展。 2研究的基本内容在本课题中,主要研究在手机上建设FTP服务器,实现任意客户端可以登录FTP服务器上传下载文件。支持浏览器可视化浏览手机资源列表下载手机资源文件。通过计算机资源管理器或我的电脑管理手机:添加、删除、编辑等操作,全方位

15、管理手机文件,实现无需数据线即可管理手机的功能。2.1 基本框架无线手机助手主要通过以下几个模块组成:(1)服务器的搭建:能够在手机上建设FTP服务器(2)客户端登陆服务器:能够让与手机在同一个无线局域网内的计算机通过IP地址登陆服务器(3)能够通过计算机浏览器查看手机上的文件资源列表,下载文件资源;(3)通过计算机资源管理器或我的电脑管理手机:添加、删除、编辑等操作,全方位管理手机文件;图2.1是无线手机助手的基本框架图。图2.1 无线手机助手的基本框架图2.2 研究的重点和难点目前迫切需要解决的一个问题是加强数据保护,保证用户的个人隐私权,通过登录认证,保证用户的手机资料信息不会泄露给除本

16、人以外的任何人。2.3 拟解决的关键问题了解FTP基本协议,解决FTP协议的封装,用socket实现FTP的访问,服务器和客户端直接的交互,用户登录以及文件操作授权信息的验证。利用FTP协议数据连接的工作方式以及基本命令完成手机与计算机直接的文件传输功能。3研究的方法及措施利用网络查阅国内外相关资料,利用数据库资源浏览大量的期刊与文献,进行分析与研究。深入国内外android系统开发者社区,与一线开发者进行交流,获取更多信息与技术。 应用拟采用Java实现,模块化结构,独立开发各个功能模块,尽量降低各模块之间的耦合,在各个功能模块实现的基础上构建灵活方便的UI界面。 4预期研究成果能够实现在手

17、机和计算机处于同一个无线局域网的情况下,手机运行本应用程序,计算机通过进入资源管理器或我的电脑,能够浏览、添加、编辑、删除、拷贝手机文件资源,全方位管理手机。完成毕业论文和毕业设计以及毕业答辩。将本应用程序发布到国内外android市场,以供用户下载使用并收集关于此应用程序的实际使用效果以及反馈信息。5研究工作进度计划第七学期:第6-9周 查阅文献和外文翻译第10-12周 撰写文献综述第12-15周 撰写开题报告,完成开题报告答辩第15-19周 程序设计与开发第八学期:第1-7周 程序设计与开发第9-10周 撰写毕业论文第11周 修改论文第12周 论文答辩毕业设计(论文)文 献 综 述(包括国

18、内外现状、研究方向、进展情况、存在问题、参考依据等)Android手机管理类应用程序现状研究1. 国内外研究现状Google Play手机客户端,是国内外首款Android手机应用程序管理类应用。内置与每一台基于Android系统的手机中,Google Play同时提供Web端,将Web端和手机端通过谷歌账号绑定。其功能主要是搜索Google Play应用市场中的应用程序,一键安装、卸载应用程序。无论通过浏览器还是手机都能够一键操作,其操作的简易程度极大提高了用户体验,唯一不足的是无法直接下载apk文件到本地,无法将该应用程序以文件的形式在好友直接共享,对于想要解压apk中资源的开发者更是而言

19、产生了极大的不便。随着Android的迅猛发展,国内各种优秀应用也相继诞生,豌豆荚系列产品是国内最早的手机管理类应用。豌豆荚是一款基于Android 手机管理软件,具有备份恢复重要资料、通讯录资料管理、应用程序管理,音乐下载、视频下载与管理等功能。据官方网站介绍,豌豆荚手机精灵可以方便快捷地整理通讯录,Android手机、Outlook 等多平台间轻松导入导出通讯录,管理分组,给联系人添加头像和各种信息。豌豆荚手机精灵可以独有短信主题视图,电脑上直接查看、回复,批量发送短信,过年过节省时间。此外,在电脑上安装、管理手机应用程序,下载各种流行的应用和游戏。搜索下载网络音乐到手机中,音乐时自动添加

20、歌词、专辑封面,给手机设定多样化铃声。此外,豌豆荚手机精灵还可以直接一键下载优酷网、土豆网等主流视频网站的视频到手机中,本地和网络视频自动转码,传进手机就能看。在文件管理方面,最近上市的一款应用软件文件大师。是一款功能强大的文件管理软件。文件大师支持对文件的全部常用操作,如拷贝,删除,粘贴等。采用了特别优化过的文件/目录复制算法,使得其在大量文件复制的时候比其他文件管理类工具速度更快。主要功能有:能在手机上建设HTTP/FTP服务器,直接通过WIFI共享手机资源;通过SMB客户端,访问电脑上的共享资源;可以帮助播放器直接播放电脑共享的资源;应用程序管理,可以执行、批量安装、删除应用程序;压缩/

21、解压ZIP文件;任务管理;文本编等功能。2研究方向基于蓝牙的文件传输:蓝牙协议栈提供了一组的高层协议和API 以完成发现服务和模拟串行I/O,还有一个关于包分割和重组的低层协议以及多路技术协议和质量服务。蓝牙协议栈分为硬件和软件两部分,蓝牙硬件协议栈由设备硬件提供,蓝牙软件协议栈则由软件实现。蓝牙通信也是基于通用连接框架,与常见的C/S架构类似,只是客户端不知服务端的存在,需要通过无线搜索去发现。搜索到远程设备后,还需要进行服务搜索去发现对方提供了哪些服务。其中,蓝牙通信是基于通用连接框架,对不同客户端而言,需要通过搜索来获得与服务端的连接信息。蓝牙服务端使用连接通知者对象,用于等待远程设备的

22、连接,类似于阻塞式socket 服务端,它将一直等待直到接收到客户端的连接请求。对于蓝牙客户端的搜索服务分为设备搜索和服务搜索,后者需要基于指定的远程设备才能进行。客户端和服务器端在获得蓝牙协议连接后,通过连接创建输入/输出流来进行通信。基于NFC的数据传输:NFC英文全称Near Field Communication,近距离无线通信。是由飞利浦公司发起,由诺基亚、索尼等著名厂商联合主推的一项无线技术。不久前,由多家公司、大学和用户共同成立了泛欧联盟,旨在开发NFC的开放式架构,并推动其在手机中的应用。NFC由非接触式射频识别(RFID)及互联互通技术整合演变而来,在单一芯片上结合感应式读卡

23、器、感应式卡片和点对点的功能,能在短距离内与兼容设备进行识别和数据交换。NFC的短距离交互大大简化整个认证识别过程,使电子设备间互相访问更直接、更安全和更清楚。通过NFC,电脑、数码相机、手机、PDA等多个设备之间可以很方便快捷地进行无线连接,进而实现数据交换和服务。NFC应用于智能手机以前,两部手机之间的文件传输主要是通过蓝牙,而使用蓝牙传输的步骤比较复杂,需要一系列的配对和验证过程。使用NFC,只需要两个手机轻轻一碰,不需要配对和确认过程,即可开始传输。基于FTP和WiFi网络的文件共享:FTP(File Transfer Protocol, FTP)是TCP/IP网络上两台计算机传送文件

24、的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。通过在手机上建设FTP服务器,配置登陆端口,登陆账号密码,通过WiFi网络传输文件。3进展情况随着智能机应用范围的的不断扩大,以Android系统为代表的智能机逐步成为用户工作、生活、娱乐、网络不可或缺的工具。与此同时,文件的导入导出、拷贝、修改、查看等简易的文件管理也成为智能机用户在使用过程中的一个基本诉求,是使用管理智能机的必需。而android机自带的文件管理工具优劣不一,因此,第三方文件管理功能成为应用服务商

25、争相竞争的焦点11。目前谷歌为其产品Google+新增了一项Android应用程序一键安装和共享功能,据悉Google+提供链接可直接到Android应用程序,供用户分享他们最喜爱的应用程序和游戏,并允许其他用户进行直接下载。用户想使用该功能,也不需要费多大的事,只需要将安卓应用程序的URL粘贴进去,Google+即可自动嵌入安装/购买按钮。当用户单击“安装”按钮,谷歌就会自动加载该应用程序的Google Play页面。同时Google+也将显示一个提示,要求您确认,是否要安装该应用程序。除了清晰友好的用户操作界面、丰富而强大的应用功能,手机应用产生的大量流量也是用户最为关心的。国内安卓手机内

26、容获取和管理平台豌豆荚,继其 PC 端“零流量”功能的基础上,又全面升级Android 端“零流量”功能,并作出郑重承诺:用户如果在手机上开启豌豆荚“零流量模式”后,产生任何流量资费损失,豌豆荚将全额赔付。目前豌豆荚已拥有 8000 万用户,每天通过豌豆荚 PC 端下载的数据已达75TB之巨,如果按中国移动资费标准计算,每天能为用户节省上千万人民币。此次 Android 端“零流量”功能的升级,意味着在豌豆荚手机管理平台“一贯省流量”的基础功能上,将为 Android 手机用户提供更加标准和完善的用户体验,真正实现全平台的零流量。此次“零流量模式”的推出,用户只需要在豌豆荚 Android 端

27、的“设置”中,点击“2G/3G流量节省方案”,选择“不联网,零流量”,即可实现多网络环境相互转化下最大化流量节省。用户打开此功能后,在2G/3G网络下豌豆荚将不再产生任何流量;而当手机进入 Wi-Fi 环境中时,豌豆荚则自动切换进到正常浏览模式13。4存在问题Android手机采用了进程隔离的安全策略来保障手机的应用程序和数据安全,即使手机用户无意中下载并执行了恶意程序,该恶意程序也没有足够的权限替换手机的程序文件。但是这种保护措施局限于Android手机内部,也就是说,Android手机的可信计算基(trusted computing base,TCB)10仅仅局限于手机本身。Android

28、手机与计算机建立连接之后,计算机能以root身份登录Android手机,会给手机的应用程序和用户数据造成安全隐患14。参考文献(含开题报告和文献综述)1 姚昱旻,刘卫国. Android的架构与应用开发研究J. 计算机系统应用,2008,11.2 郑健,贺超. Android和Chrome的发展与未来J. 移动通信,2010,11.3 公磊,周聪. 基于Android的移动终端应用程序开发与研究J. 计算机与现代化, 2008: 86-89.4 赵炯. Linux内核完全注释M. 机械工业出版社,2004.5 陈莉君. Linux 内核的分析及应用J. 西安邮电学院学报,2001,(3):17

29、-20.6 Daniel P. Bovet & Marco Cesati. 深入理解 Linux 内核(影印版)M. 东南大学出版社,2006.7 赵丹文. 智能终端发展趋势概述J. 中国传媒科技,2011, 5.8 李健.Android:“安致”移动信息处理的未来J. 电子产品界,2010,3:11-12.9 Margaret Butler. Android:Changing the Mobile LandscapeJ. IEEE Pervasive Computing, 2011,10(1):4-7.10 ALVAREZE, FERNANDEZA, GARCLAP. New Approac

30、h To ChaoticencryptionJ. Physics Letters A,1999,263:373-375.11 张传智. 三大手机管理软件:强化人性化功能设计EB/OL. 2012-11-2112 丁飞飞. 阻止谷歌Android跨界扩张诺基亚反向发力“上网本”J. IT时代周刊,2009,7.13 周思思豌豆荚手机端“零流量模式”全面上线EB/OL14 刘昌平,王光卫,郑秀林,宫亚峰. Android手机的轻量级访问控制范明钰J. 计算机应用研究, 2010,7.15 GONG Lei,ZHOU Cong. Development and Research of Mobile

31、Termination Application Based on AndroidJ. Computer And Modernization.,2008.8.毕业设计(论文)译文及原稿译文题目 安卓关键概念 原稿题目 Android Key Concept 原稿出处 Introducing Googles Mobile Development Platform,3rd Edition /Ed Burnette 安卓关键概念现在,读者已经了解了Android是什么,接下来我们再看看它是如何工作的。你可能对Android的某些部分很熟悉,如Linux内核、OpenGL和SQL数据库,但对其他部分可能

32、还一无所知,如Android中应用程序生命周期的概念。要编写出功能良好的Android应用程序,需要很好地理解本章介绍的这些关键概念。所以,如果你只想阅读本书中的一章,则非本章莫属。2.1 Android的系统架构我们首先看看Android的总体系统架构组成Android开源软件栈的关键层和组件,图2-1展示了完整的Android系统架构图,请读者仔细研究一下这张图。图中的每一层都使用下面各层所提供的服务。以下几节主要介绍Android中的各个层(从最下面的层开始)。2.1.1 Linux内核Android构建在一个稳定且得到广泛认可的基础之上:Linux内核。1991年,还是赫尔辛基大学学生

33、的Linus Torvalds开发了Linux内核。现在,Linux可以说是无所不在,从手表到超级计算机中都能找到它的身影。Linux为Android提供了硬件抽象层,以便将来把Android移植到更多的平台上。从内部来看,Android使用Linux完成其内存管理、进程管理、网络和其他操作系统服务工作。Android手机用户永远不会看到Linux,程序也不会直接进行Linux调用。但是作为开发人员,你需要知道Linux在Android中的用途。开发期间需要的某些实用程序要和Linux打交道。例如,adb shell 命令将打开一个Linux命令行窗口,从中可以输入要在设备上运行的其他命令。例

34、如,可以通过这个命令行窗口来检查Linux文件系统、查看活动的进程等。2.1.2 本机库Linux内核层上面的一层中包含了Android本机库。这些共享库都是用C或C+语言便携带,并且针对电话使用的特定硬件架构进行了编译,并已由手机制造商预先安装到手机中。其中最重要的一些库包括下面5个部分。界面管理器。Android使用与Vista或Compiz类似的组合窗口管理器,但是它要更简单一些。它并不是将显示内容直接绘制到屏幕缓冲区中,而是将绘制命令传递给屏幕外的位图,然后将该位图与其他位图组合起来,形成用户看到的显示内容。这种方法允许系统实现所有有趣的效果,如透明的窗口和奇特的过渡效果。2D和3D图

35、形。使用Android时,二位和三维元素可结合到一个用户界面中。库将使用3D硬件(如果设备上有的话)或者快速软件渲染器(如果没有3D硬件设备)。参见第4章和第10章。媒体编解码器。Android可播放视频内容,并可用各种格式录制和播放音频,这些格式包括AAC、AVC(H.264)、H.263、MP3和MPEG-4。参见第5章中相关的示例。 SQL数据库。Android提供了轻量级的SQLite数据库引擎,Firefox和苹果的iPhone中使用的也是该数据库引擎。使用该引擎可在应用程序中持续储存。参见第9章中相关的示例。浏览器引擎。为保证快速显示HTML内容,Android使用了WebKit库

36、。GoogleChrome浏览器、苹果的Safari浏览器、苹果iPhone和诺基亚的S60平台都是用了该引擎。参见第7章中相关的示例。2.1.3 Android运行时在Linux内核层上面还有一个Android运行时层,改成包括Dalvik虚拟机以及Java核心库。Dalvik虚拟机是Google的Java实现,专门针对移动设备进行了优化。为Android编写的所有代码使用的都是Java语言,这些代码都在虚拟机中运行。Dalvik与传统Java虚拟机的不同之处体现在下面两个重要的方面。Dalvik VM运行.dex文件,即编译时会将标准的.class和.jar文件转化成.dex文件。.dex

37、文件比类文件更加紧凑并且更加高效,这是针对运行Android的设备内存有限且通过电池供电的特点所作出的重要改进。Android附带的Java核心库与Java SE库和Java ME库不同。但是,他们之间有很大部分还是相同的。附录A比较了Android库与Java标准库。2.1.4 应用程序框架位于本机类库和运行时上面的是应用程序框架层。该成提供了在创建应用程序时需要使用的各种高级构建块。该框架已随Android一同安装,但开发人员也可以根据需要使用自己的组件扩展该框架。该框架最重要的部分包括下面5个。活动管理器。该管理器控制应用程序的生命周期(参见2.2节),同时维护一个公告的“后退栈”供用户

38、导航。内容提供者。这些对象封转需要在应用程序之间共享的数据,如联系人信息。参见2.3节。资源管理器。资源是程序中涉及到任何非代码内容。参见2.4节。位置管理器。Android手机始终知道目前所处的位置。参见第8章。通知管理器。像收到短信、临近预约时间、临界状态报警、异常入侵等事件都可以通过友好的方式通知用户。2.1.5 应用程序Android架构图中的最高层是应用程序层。可将该层想象为浮出海面的Android冰山的一角。最终用户只能看到这些应用程序,根本不会觉察到在该层下面执行的操作。但是作为一名Android开发人员,你应该知道这些操作。购置Android手机时,手机中会预装一些标准的系统应

39、用程序,包括:电话拨号程序;电子邮件收发程序;联系人管理程序;Web浏览器;Android Market。用户可以从Android Market下载在本机运行的新应用程序。这里也将是你大显身手的地方,学习完本书后,你也能够为Android编写出令人一见钟情的应用程序。现在,让我们仔细地了解一下Android应用程序生命周期,它与你以前熟悉的概念有所不同。2.2 它还活着标准的Linux或Windows桌面可以同时运行许多应用程序,并且可以在不同的窗口中同时看到这些程序。除了其中某个程序拥有键盘焦点外,所有程序都是平等的。用户可以轻松地在这些程序之间切换,但是要想知道自己在做什么,或者想要关闭不

40、再需要的程序,用户必须亲自动手。Android不是这样管理窗口的。Android中有一个前台应用程序,它通常为占据状态栏以外的所有将屏幕空间。用户开机时,他们看到的第一个应用程序是Home应用程序(参见图2-2)。这个程序通常会显示时间、背景图像。以及一个滚动列表,其中包含用户可以打开的其他应用程序。用户在运行应用程序时,Android会启动该程序并将他至于前台。用户可以从该应用程序中打开其他应用程序,或者打开同一应用程序的其他窗口,然后再调用其他应用程序。所有这些程序和窗口都被系统的活动管理器李璐在应用程序栈中。用户可随时按Back按钮返回到栈中的上一个窗口。从用户的角度看,这种工作方式类似

41、于Web浏览器中的历史功能,即按Back返回到上一个页面。2.2.1 应用程序生命周期Android程序中的每个活动在其存在期间都会处于以下多种状态之一,如图2-3所示。开发人员不能控制程序处于哪个状态,这是由系统管理的。但是通过onXX()方法调用改变状态时,系统会通知开发人员。你需要在Activity类中重写这些方法,而Android会在合适的时间调用下面这些方法。onCreate(Bundle)。首次启动活动时会调用该方法。可使用该方法执行一次性的初始化工作,如创建用户界面。onCreate()接受一个参数,可以是null或由onSaveInstanceState()方法以前保存的某些状

42、态信息。onStart()。该方法说明了将要显示给用户的活动。onResume()。用户可以开始与活动进行交互时会调用该方法。这个方法非常适合开始播放动画和音乐。onPause()。活动将要进入后台时会运行该方法,活动进入后台的原因通常是在前台启动了另一个活动。还应该在该方法中保存程序的持久状态。如正在编辑的数据库记录。onStop()。用户无需看到某个活动,或者在一段时间内不需要某个活动时,可以调用该方法。如果内存不足,可能永远都不会调用onStop()(系统可能只是终止进程)。onRestart()。如果调用该方法,则表明要将已处于停止状态的活动重新显示给用户。onDestroy()。销毁

43、活动前会调用该方法。如果内存不足,可能永远都不会调用onDestroy()(系统可能只是终止进程)。onSaveInstanceState(Bundle)。Android调用该方法的作用是让活动可以保存每个实例的状态,如光标在文本字段中的位置。通常你无需重写该方法,因为该方法的实现会自动保存所有用户界面控件的状态。onRestoreInstanceState(Bundle)。使用onSaveInstanceState()方法以前保存的状态重新初始化某个活动时会调用该方法。默认实现会还原用户界面的状态。没有在前台中运行的活动可能已被停止,或者是容纳这些活动的Linux进程已被“杀死”(结束),从

44、而为新的活动腾出空间。这是经常出现的情况,所以在一开始设计应用程序时就记住这一点很重要。在某些情况下,onPause()方法可能是活动者调用的最后一个方法,所以才应在该方法中保存下次要继续使用的任何数据。除了管理应用程序的生命周期,Android框架还提供了很多构建块,开发人员可使用这些构件块创建应用程序。下面仔细了解这些构建块。2.3 构建块每位开发人员都要熟悉Android SDK中定义的一些对象。其中最为重要的就是活动、意图、服务和内容提供者。本书的其余部分提供了关于这些对象的多个实例,所以现在先简要介绍一下他们。2.3.1活动一个活动就是一个用户界面屏幕。应用程序可以定义一个或多个活动

45、,以处理程序不同阶段中的任务。如2.2节所述,作为应用程序生命周期的一部分,每个活动都要保存自己的状态,以便日后还原这些状态。3.3节提供了一个示例。2.3.2 意图意图是一种描述具体动作的机制,例如“拍照”、“往家中拨电话”或“打开仓门”在Android中,几乎所有事情都要经历意图这个阶段,所以有很多机会可以替换或重用很多组件。3.5节提供了一个意图的示例。例如,现在有一个“发送一封电子邮件”的意图。如果应用程序需要发送邮件,就可调用该意图。或者你正在编写一个新的电子邮件应用程序,就可注册一个活动来处理该意图,并用该电子邮件程序替换标准的邮件程序。下次其他人尝试发送电子邮件时,他们会使用你的

46、电子邮件程序,而不是标准的邮件程序。2.3.3 服务服务是在后台运行的任务,无需用户直接与其交互,它与Unix的守护进程类似。例如,假设有一个音乐播放器。可以通过某个活动来播放音乐,但是我们希望即使当用户使用其他程序时,人能继续播放音乐。所以,执行音乐播放的代码应该在某个服务中。之后,另一个活动可能会绑定到该服务上,告诉该服务切换音轨或停止播放。Android内置了许多服务,以及许多可轻松访问这些服务的API。2.3.4 内容提供者内容提供者是封装在自定义API中的一组数据,可以读取该数据和向API中写入数据。这是在应用程序之间共享全局数据的最佳方式。例如,谷歌为联系人程序提供了一个内容提供者。任何要使用联系人信息的应用程序都可共享其中的所有信息,包括姓名、地址、电话号码等。9.5节提供了一个示例。Android Key ConceptsNow that you have an idea of what Android is, lets take a look at how it

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号