毕业设计基于android系统的情景模式的设计与实现.doc
《毕业设计基于android系统的情景模式的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计基于android系统的情景模式的设计与实现.doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 移动平台开发(论文)题目名称:基于Android系统的情景模式的设计与实现院系名称:计算机学院班 级:网络123班学 号:201200824314学生姓名:赵恒指导教师:赵慧杰 2014年12月20日22摘要近年来,随着现代工业及科学技术的迅速发展,人们对于信息的获取有着强烈的需求,智能手机作为一种非常重要的通讯工具,功能越来越强大,智能手机行业的发展也越来越受到各大制造厂商的关注。考虑到Android广阔的市场,各大手机厂商都争相参与该系统的开发,并希望能将该系统应用到自己的手机产品上。移动平台开发课程给了我们一个开发Android项目的机会,因此我选择开发一款Android手机软件,即基
2、于Android系统的手机情景模式。本文首先对比分析了市场上多个智能手机平台,研究了智能手机的发展现状,接着分析了Android系统的平台架构,剖析了Android应用组件和Activity生命周期,对Android平台底层组件软件开发和应用层软件开发方法进行了深入研究,其中深入分析了Intent,对Intent进行了详细的讲解。在此基础上,开发设计实现了基于Android系统的手机情景模式。关键字:Android、智能手机、情景模式、Activity、Intent目 录摘要2目 录3第一章 绪论41.1手机操作系统简介41.2手机操作系统目前现状41.3手机操作系统发展趋势61.4Andro
3、id简介6第二章 Android 的架构72.1Android 架构72.2Android 中的 Intent92.1.1Intent抽象描述的内容92.2.2Android 解析 Intent 的过程102.3Eclipse介绍11第三章 需求分析133.1可行性分析133.2系统总体需求分析133.3开发运行环境13第四章 情景模式的设计思想144.1情景模式的设计特点144.2情景模式的设计144.3程序的流程14第五章 情景模式的具体实现165.1情景模式界面类165.2情景模式类185.3情景模式测试19第六章 总结21【参考文献与附录】22第一章 绪论1.1手机操作系统简介 手机的
4、用户群日益庞大,在人民生活中手机起到愈加重要的作用。在2010年1月由一个网站所做的调查表明,中国手机用户数量将达到七点四亿多。全国的手机及其它具有手机功能的设备的用户群体,这个数量还在继续增长。这样一来,就有更多的手机厂商也都想抓住商机赢得更多用户,.所以也就涌现出许许多多的手机品牌和手机操作系统,我们大家所知道的有如:Symbian, PalmOS,Windows Mobile, Smartphone等等,这里对手机品牌不作介绍,对于手机的操作系统,这些系统中,每个系统也有许多版本,有的版本是智能的,有的版本非智能的,各有各的特色和优缺点,这里不对各个系统进行详细的评论。Google公司推
5、出了一套手机操作系统Android,并宣布Google要进军手机领域,宣称其手机系统是一个开放平台,所以就引来了许多的手机厂商的关注和极大的兴趣。由于Android系统是基于标准的Linux内核开发的一套嵌入式系统,也可以说Android系统的核心部分(不包括上层应用程序部分)是Linux系统,所以该论文在介绍Android系统移植开发之前,也就会描述和介绍通用嵌入式Linux系统移植的有关软件内容,对于涉及硬件方面不作过多的描述。1.2手机操作系统目前现状近来微电子技术的迅猛发展,处理器升级增长的速度也随之加快,嵌入式系统领域发生了翻天覆地的变化,特别是现在网络的普及,可以使嵌入式系统具备网
6、络的功能,嵌入式与网络也就成为当今最热门的技术,从而使得嵌入式系统得以更广泛的应用,应用到了各个领域,但是在这众多的应用中,我们最有切身体会的就是手机的使用。接下来就针对常见的几款智能手机系统简单介绍一下:(1) Windows Mobile系列操作系统是微软在计算机的Windows操作系统上变化而来的,因此,它们的操作界面与PC的操作系统非常相似,因此性能比较好,操作起来速度会比较快。但是,此系列手机也有一定的缺点,如因配置高、功能多而产生耗电量大、电池续航时间短、硬件采用成本高等缺点。(2) Symbian操作系统提供了灵活的应用操作界面框架,不但使开发者得以快速掌握必要的技术,同时还使手
7、机制造商能够推出不同界面的产品,但是这种系统类型的手机,它的输入方式包括键盘输入和手写笔输入,不同的输入方式和外观设计会对各款手机的主要用途产生很大的影响,每种输入方法对消费者也有一些要求,如要求熟悉拼音,写字等。(3) PalmOS是3Com公司开发的一种32位的嵌入式操作系统,原本是一家生产掌上电脑及掌上电脑操作系统为主的公司,Palm智能手机所用的Palm操作系统又与Palm掌上电脑所用的操作系统非常相似,与微软所推出操作系统要占有大量的系统资源和储存容量不同的是,它本身所占的内存极小,基于Palm操作系统编写的应用程序所占的空间也很小,对于中国用户而言,它有一个不足之处是,它的操作系统
8、起初在中国销售的产品仍然要使用中文外挂平台,有相当部分依然是以英文界面为主,在一定程度上影响了基于Palm操作系统的产品大面积进入中国市场。(4) Linux是一套免费使用和自由传播的操作系统。Linux具有稳定、可靠、安全等优点,有强大的网络功能。由于Linux具有源代码开放,这一特点非常重要。从应用开发的角度看,由于Linux的源代码是开放的,有利于独立软件开发商(ISV )开发出硬件利用效率高、功能更强大的应用软件,也方便行业用户开发自己的安全、可控认证系统,因为丰富的应用是智能手机的优越性体现和关键卖点所在。特别是当智能手机大量用作行业应用的移动终端时,Linux在手机操作系统市场中也
9、异军突起,成为一股不容忽视的力量。(5) iPhone,相比于前面几个系统,Apple的iPhone系统的性能可能算是比较优越的,但是它在价格和语言本地化方面有一定的局限性,但是Android也吸纳了它的一些优点,而且在此基础上还做了优化,这就是Google的聪明和可以制胜之处。目前,琳琅满目的手机系统,有时也让消费者在选择手机时头痛,比如:有的手机外观还蛮赏心悦目的,但是使用时感觉手机系统和应用不是很理想;有的手机系统和应用系统很称心,但是外观傻傻的;有一些手机系统操作起来很复杂,好像是为一些专业人士设计似的等等;还有的是所谓的高端手机其实就是增加了几个吸引消费者眼球的卖点就把手机价格拉得很
10、高;总的来说目前的手机市场不是很令人满意,所以希望能有某个手机软件能够一统手机的操作系统。1.3手机操作系统发展趋势据不完全统计,目前全球手机用户有30亿,2006年统计的中国手机用户有2.61亿;去年全球手机出货量约11亿部,其中中国约5.5亿部141。美国最著名的未来学家尼葛洛庞帝在1999年访华时曾经预言,在4至5年后嵌入式系统和互联网将是既PC之后的最伟大的发明。如今10年将要过去了,现实的发展验证了他的语言的正确性。现在嵌入式系统正处于高速的发展阶段,未来的几年,这种发展和竞争将是愈演愈烈。由于嵌入式系统己经渗透到许多领域,如工业控制、移动通信、GPS、娱乐等,将来它会发挥更大的优势
11、。 Symbian, Linux, Windows Mobile, Palm是目前主要的手机嵌入式操作系统,而Linux手机市场份额的上升,更多的源于Linux开放平台的支持,也随着嵌入式系统时代的发展而发展,近期,随着3G时代的到来,也可能是由于底层的Linux核心是一个开源平台,中国几大手机运营商如移动、电信、联通也在紧锣密鼓的筹备并与Google公司合作而开发Android系统,由于Android的内核Linux部分是开源的,所以在价格方面占据了很大的优势。看来使用Android系统是将来手机系统的很大的趋势。1.4Android简介Android是一个开源的智能手机操作系统,Andro
12、id翻译成中文是机器人,机器人这个名词通常是指硬件部分,而Android是操作系统,是软件部分。这个目前正热门的手机系统跟以往各大手机厂商闭门自修所研发的系统最大的区别在于它开放原始代码,让一些手机厂商或一般的开发爱好者也可以轻易的利用Google公司所提供的SDK开发各式各样的应用软件。Android是基于Linux内核,由Linux内核、Linux运行库、用来运行代码的类似Java虚拟机以及全套的移动电话应用程序组成的,和标准的Linux开发流程一样,Android系统平台开发的一个很重要的基础工作就是对其内核的编译和移植其中Applications是Android的应用软件部分,Appl
13、ication Framework是Android的应用软件框架模型,Android Runtime是Android系统的运行库,Libraries是Linux系统的标准库,Linux Kernel是Linux系统的内核,也是Android系统的内核。第二章 Android 的架构Android 是一个移动设备的软件框架。它包括一个操作系统,中间件和一些关键应用。Android 是由 Linux+Java 构成的开源软件。2.1Android 架构图2-1给出了 Android 操作系统的大部分组件。图 2-1Android 架构应用程序Android 的配置搭载它的核心应用,包括 email
14、 客户端,SMS 程序,日历,地图,浏览器,contacts 以及其它一些应用。所有的应用都是用 java 语言编写的。应用程序框架开发人员具有和核心应用相同的框架 API 访问权限。应用程序的构建模式被设计成简单的可重用的组件。所有应用能够分享他的能力,所有应用都是如此(这是被框架强迫的安全约束)。这样允许用户在相同的机器上替换组件。一套用于支撑应用的服务和系统,包括:一套强大和可扩展的视图,用于构建应用,甚至内嵌的 Web 浏览器。内容提供,用于应用间的数据提供和数据共享 。一个资源管理器, 提供非代码的资源支持,包括本地字符串,图像文件,和布局文件 。一个 Notification 管理
15、器, 用于应用程序在状态栏显示告警信息 。一个Activity管理器,用于管理应用的生命周期,以及提供通用的导航辅助 。库Android 包含一整套 C/C+ 库,用于构建 Android 系统的大量不同的组件。这些能力通过 Android 应用程序框架暴露给开发人员。部分核心库如下:系统 C 库,一个由 BSD 发起的标准 C 库实现,专门为基于 Linux 的嵌入式设备作了调整。媒体库,基于 PacketVideos OpenCORE;该库支持回放和录制大量流行的音视频格式和静态图片,包括 MPEG4, H.264, MP3,AAC,AMR, JPG, 和 PNG。Surface 管理,用
16、于管理显示子系统和无缝合成不同应用的 2D 和 3D 图形层。LibWebCore,先进的 web 浏览器引擎。被用来构建 Android 浏览器和内嵌的 web 视图。SGL,底层的 2D 图形引擎。3D 库,一套 OpenGL ES 1.0 APIs 的实现;该库使用硬件加速(当硬件可用时)或者高度优化的 3D 软件光栅。FreeType,用于点阵和矢量字体渲染。SQLite,能够被所有应用使用的强大的轻量级的关系数据库引擎。SSL,(Secure Sockets Layer),中文名为 “ 安全套接层协议层 ” ,它是网景( Netscape )公司提出的基于 WEB 应用的安全协议,当
17、前版本为 3.0。SSL协议指定了一种在应用程序协议(如 HTTP 、 Telenet 、 NMTP 和 FTP 等)和 TCP/IP 协议之间提供数据安全性分层的机制,它为 TCP/IP 连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。它已被广泛地用于 Web浏览器与服务器之间的身份认证和加密数据传输。SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。SSL 协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如 TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SS
18、L HandshakeProtocol):它建立在 SSL 记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。SSL 协议提供的服务主要有:一、认证用户和服务器,确保数据发送到正确的客户机和服务器;二、加密数据以防止数据中途被窃取;三、维护数据的完整性,确保数据在传输过程中不被改变。2.2Android 中的 Intent在一个 Android 应用中,主要是由四种组件组成的,这四种组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的 Android 应用。在这些组件之间的通讯中,主要是由 Intent 协助完成的。Intent 负责对应
19、用中一次操作的动作、动作涉及数据、附加数据进行描述,Android 则根据此 Intent 的描述,负责找到对应的组件,将 Intent 传递给调用的组件,并完成组件的调用。因此,Intent 在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调 用者之间的解耦。2.1.1Intent抽象描述的内容在 Android 参考文档中,对 Intent 的定义是执行某操作的一个抽象描述。首先,是要执行的动作(action)的一个简要描述。其次,是执行动作要操作的数据(data),Android 中 采用指向数据的一个URI 来表示。另外,除了 action 和 data 这
20、两个重要属性外,还有一些附加属性:category(类别),被执行动作的附加信息。type(数据类型),显式指定 Intent 的数据类型(MIME)。一般 Intent 的数据类型能够根据数据本身进行判定,但是通过设置这个属性,可以强制采用显式指定的类型而不再进行推导。component(组件),指定 Intent 的的目标组件的类名称。通常 Android 会根据 Intent 中包含的其它属性的信息,比如 action、data/type、category 进行查找,最终找到一个与之匹配的目标组件。但是,如果 component 这个属性有指定的话,将直接使用它指定的组件,而不再执行上述
21、查找过程。指定了这个属性以后,Intent 的其它所有属性都是可选的。extras(附加信息),是其它所有附加信息的集合。使用 extras 可以为组件提供扩展信息,比如,如果要执行“发送电子邮件”这个动作,可以将电子邮件的标题、正文等保存在 extras 里,传给电子邮件发送组件。总之,action、data/type、category 和 extras 一起形成了一种语言。这种语言使系统能够理解诸如“查看某联系人的详细信息”之类的短语。随着应用不断的加入到系统中,它们可以添加新的 action、 data/type、category 来扩展这种语言。应用也可以提供自己的 Activity
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 android 系统 情景模式 设计 实现
限制150内