1、安徽建筑工业学院毕业设计(论文)安徽建筑工业学院毕 业 设 计 (论文)课题名称: 基于 Android 平台的手机软件开发 基于 Android平台的手机“星座”查询软件设计专 业: 电子与信息工程 班 级: 学生姓名: 学 号: 指导教师: 安徽建筑工业学院毕业设计(论文)2011 年 6 月 10 日安徽建筑工业学院毕业设计(论文)2基于 Android 平台的手机软件开发-基于 Android 平台的手机“星座”查询软件设计摘要随着智能手机一步步走进普通人的生活,它将成为人们获取信息的主要设备。因此,手机的娱乐应用服务将会有很大的发展空间,手机星座查询软件就是其中的一项。Android
2、 平台提供给用户非常方便的星座查询功能,这将为星座查询服务的设计与实现提供了更好的平台。另外,Android 平台基本上是免费的,所以能够有效降低软件的成本,最终让每个用户能够自由地获取信息,也为手机星座查询服务的普及做出贡献。本文对目前应用的 Symbian、WindowsMobile、MacOSX 和 RIM等平台的现状进行了分析与比较。进而研究分析了 Android平台的系统架构和组件模型,接着解析了 Android中的重要 API和应用构成,以 Intent和生命周期的机制。在此基础上,基于 Android平台设计和开发手机星座查询软件。本系统界面友好、操作便捷,具有良好的可扩展性和可
3、维护性;系统经过测试,可以稳定运行,能够满足手机用户的基本需求。关键词:Android;Java;星座查询;Intent;布局安徽建筑工业学院毕业设计(论文)- 4 -AbstractWith the Mobile Phone enters into the live step by step,it will become the main device to obtain information. Services of mobile Phone will have great development space,Constellation inquires is one of them.
4、Android platform offers users very convenient constellation inquires the function,This will be for constellation inquires the design and implementation of service provides a better platform.In addition, Android platform is basically free, so can effectively reduce the software costs, Finally let eac
5、h user will be free to get information, Also for the popularization of mobile phone constellation inquires the service contribution.This paper discusses the present application of Symbian, Windows Mobile, MacOSX and RIM situation of such platform are analysed and compared. Further research and analy
6、sis of the Android platform system architecture and the component model, then analyzes the important Android API and the application form, with Intent and life cycle mechanism, on this basis, design and development of mobile phone constellation inquires the software based on the Android platform. Th
7、is system friendly interface, Convenient operation, Has good expansibility and maintainability; after test of system, can stable operation, To meet the basic needs of mobile phone users.Keywords: Android;Java;Constellation query; Intent; Layout安徽建筑工业学院毕业设计(论文)- 5 -目录1、绪论 .11.1课题背景 .11.2 Android平台与其他
8、平台的比较 .11.3本文主要工作 .21.4论文组织结构 .22、Android 的架构分析 .32.1 Android的功能特征 .32.2 Android架构分析 .52.2.1应用程序框架 .52.2.2类库 .62.2.3 Android运行时组件 .72.3 Android应用的构成和工作机制 .73、Android 应用程序结构剖析 .83.1 Android的 API.83.2 Android应用程序结构解析 .93.2.1活动 .93.2.2意图接收器 .103.2.3服务 .113.2.4内容提供者 .113.3 Intent的详细解析 .113.3.1 Intent的抽象
9、描述 .113.3.2 Android如何解析 Intent .123.4 Android活动的生命周期 .133.4.1活动的生命状态 .143.4.2活动的运作流程 .15安徽建筑工业学院毕业设计(论文)- 6 -4、手机“星座”查询软件设计实现 .174.1 系统设计需求 .174.1.1需求分析 .174.1.2下载开发资源 .174.1.3更新 Ec1ipse并下载 ADT(Android开发插件) .184.1.4使用 Ec1ipse开发 Android应用 .194.2“星座”查询软件程序中各类组件 .204.2.1 Package Explorer中的组件 .204.2.2应用
10、程序的资源 .214.2.3布局文件 main.xml .214.2.4 AndroidManifest.xml .214.3手机“星座”查询软件设计实现 .224.3.1系统主界面的实现 .224.3.2“星座”查询功能实现 .244.3.3常见的错误分析解决 .295、结语 .295.1总结 .295.2展望 .306、参考文献 .307、谢辞 .31安徽建筑工业学院毕业设计(论文)11、绪论1.1 课题背景随着移动通信的发展以及互联网向移动终端的普及,网络和用户对移动终端的要求越来越高,而 Symbian,windows Mobile,Palm OS等手机平台过于封闭,不能很好的满足用户
11、的需求,因此市场迫切需要一个开放性很强的平台。Android是一套真正意义上的开放性移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android 是由 Linux+Java 构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android 平台的开放性等特点既能促进技术(包括平台自身)的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。经过多年的发展,第三代数字通信( 3G)技术获得了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着 3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因
12、此,移动终端的应用软件和需要的服务将会有很大的发展空间。 Google与包括中国移动、摩托罗拉在内的三十多家技术和无线应用的领军企业组成的开发联盟为此于 2007年 11月推出了一个专为移动设备设计的软件平台Android。Android最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验, Android里面具有非常丰富的图形系统, 对多媒体的支持功能和非常强大的浏览器。本课题的目的在于掌握 Java手机应用开发技术和移动软件平台开发技术。在以 Java语言为基础,结合 Android移动开发平台,并利用 Android提供的SDK,完成在 Andr
13、oid平台上运行的“星座”查询软件,形成一款具有一定功能的手机应用软件。本课题的意义在于通过开发一款“星座”查询手机应用软件,可以熟练应用 Android平台提供的应用程序接口,掌握 Android平台上的各种应用。1.2 Android 平台与其他平台的比较首先看一下 Symbian,它存在着以下的致命不足:Symbian 的主导者为诺基亚、索尼爱立信等传统的手机厂商,因此虽然 Symbian非常成熟,但它基本上还带有浓厚的保守色彩,应用软件与我们日常的 PC软件有较大的理念差异。再者 Symbian与互联网的结合给人感觉仍不够紧密,互联网应用更多只是作为陪安徽建筑工业学院毕业设计(论文)2
14、衬存在。Android 平台与此相反,移动互联网是它最重要的应用,无论系统内核、应用软件还是硬件设计,几乎都是围绕着快捷的移动互联网应用所展开,同时 Android与 PC平台存在先天的基因联系,可以很好的实现与 PC设备的信息互享,更容易获得用户的广泛认可。与 Android拥有相同属性的还有微软的Windows mobile。至于 iPhone,它只是苹果公司的封闭平台,用户无法在 iPhone中自行安装应用,所有的东西都应该苹果自行设计制造,从而确保利润不被第三方分享。苹果自己为 iPhone开发了嵌入系统以及完整的应用,但它干脆都不宣扬iPhone的软件设计,而是将 iPhone作为一
15、个包含软硬件卖点的手机产品出售。同样,苹果式的奢华与时尚让 iPhone大获成功,以至于成为手机市场的风向标。与苹果相反,Android 则是走完全开放的道路,这种模式的巨大优点在 PC软件领域已为业界所公认:自由软件高度活跃,错误可以被快速修正,新的应用、新的创意可以不断出现。Android 平台的另外一个优势是标准化和跨平台。Android和操作系统进行了紧密的整合,从而可以方便地使用操作系统的功能。这与难于使用操作系统功能的 J2ME相比,无疑对开发者有很大的吸引力。并且从图形应用界面的开发上面来看,Android 可以使用配置文件来描述图形控件的布局,用 Java代码编写实际响应代码,
16、这样方便得多。当然由于Android己经提供了大量现成的应用 API和应用工具,使得常规智能手机功能的开发变得非常容易和简单。1.3 本文主要工作Android是基于 Linux+Java的手机操作系统平台,XMPP 是基于 XML的开源的即时通讯协议,本文从实际应用出来,提出了开发基于 Android平台的手机“星座”查询软件。本文的主要工作包括:在 Eclipse开发环境下,运用 java语言和 android 的 sdk 开发一款可以实现查询星座功能的软件。本软件除了即时文本信息的传输显示外,还可以进行图片的显示,并对软件客户端的功能进行了美化扩展,增加了背景和浏览的功能。并且该系统在
17、Android模拟器上运行,取得了很好的运行效果。1.4 论文组织结构本文首先分析了系统的研究背景,介绍了 Android的发展现状以及本文的主要内容。并对 Android与其它手机操作系统进行了比较,说明了 Android的优势。安徽建筑工业学院毕业设计(论文)3第二章,介绍了 Android的特征、Android 的架构,运行组件以及 Android应用的构成和工作机制。第三章,提出了在 Android平台上开发基于 java的“星座”查询软件,提出了系统的架构、系统服务器端和客户端的解决方案,对系统采用的 Intent进行解析,并且介绍了 Android的生命周期。第四章,对如何实现“星
18、座”查询软件功能进行了详细的分析,对软件设计从客户端界面,代码段的实现,XML 解析模块, “星座”查询界面跳转和客户端扩展功能几个方面进行了详细的学士学位论文实现,最后对系统的流程进行了描述。第五章,总结了本文的主要研究内容和研究成果,分析了存在的问题,并对今后的发展方向进行了展望。2、Android 的架构分析Android是一个包含操作系统、中介架构层及应用程序所产生出来的软件堆栈架构。由下而上,其核心为嵌入式 Linux2.6作业系统,向上搭配 Google为 Android开发的类库及 Android运行时,再配合应用程序架构,来开发各种不同的应用程序。2.1Android 的功能特
19、征(l)应用程序架构:在应用程序架构内已经具备多种不同的基础组件,在开发应用程序时,就可以直接调用这些组件来使用,可以节省开发应用程序的心力及时间。(2)Dalvik虚拟机器:在 Android平台上所使用 Java虚拟机,不是 Sim公司的标准 Java虚拟机,而是使用 Google自主开发的代号为 Dalvik的虚拟机,它在保证 API方面的兼容的同时,针对移动手机进行了大幅优化,占用资源更小,运行效率更高。(3)集成的浏览器:集成的浏览器是 Android内建的浏览器,是以 WebKit的浏览引擎为基础所开发成的。WedKit 是一个开源浏览器网页排版引擎,目前使用 WebKit引擎的浏
20、览器主要有:Safari,Midori,Epiphany 等。配合 Android手机的功能,可以在浏览网页时,达到更好的效果,例如:局部性的缩放网页上的资讯、触控式的操作等效果。(4)优化的绘图能力:在程序里可以用到的绘图功能分为 2D与 3D两个方面。安徽建筑工业学院毕业设计(论文)4在 2D方面,Android 提供了一套特有的类库(SGL;而在 3D方面则是使用OpenGLES1.0(openGL for Embedded systems)规范的类库。它们是一种非常快的图形引擎,并且支持硬件加速。(5)SQLite数据库:SQLite 提供结构化的数据存取。SQLite 是一款轻型的数
21、据库,它的设计目标是嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低。它能够支持 Windows/Linux/U nix等主流的操作系统,同时能够跟很多程序语言相结合,比如 php,Java 等,还有 ODBC接口,同样比起 Mysql,PostgreSQL 来讲,它的处理速度比它们都快。它无需安装和管理配置,它是一个储存在单一磁盘文件中的完整数据库,体积小只有 250KB但支持数据库大小至 2TB。它虽然很小巧,但是支持的 SQL语句毫不逊色于其它开源数据库。同时它还支持事务功能和并发处理等等。SQLite 也是一套开放性的关联式资料库,其特点在于轻量性方面的设计结构,更适合
22、在手机上使用。(6)多媒体的支持能力:主要用于播放媒体文件。这同时包括对音频(如播放MP3或其他音乐文件等)和视频(如播放从网上下载的视频)的支持,并支持“播放 URI地址”(Note:URI 即是统一资源识别地址)模式在网络上直接播放的流媒体。另外支持各种通用的静态图像格式,例如:JPG、PNG、GIF 等格式。(7)GSM技术:Global System for Mobile Communications,即全球移动通讯系统,俗称”全球通” ,是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。G
23、SM 技术是属于手机硬件方面的展现,也是在开发 Android应用程序时可以突出的特点之一。(8)蓝牙、EDGE、3G 及 Wi-Fi:蓝牙是一种新型、开放、低成本、短距离的无线连接技术,可取代短距离的电缆,实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM,Evolution) ,即增强型数据速率 GSM演进技术。EDGE 是一种从 GSM到 3G的过渡技术,它主要是在 GSM系统中采用了一种新的调制方法,即最先进的多时隙操作和 SPSK调制技术。由于 8PSK可将现有 GSM网络采用的 GMSK调制技术的信号空间从 2扩展到 8,从而使每个符号所包含的信息是原来的 4倍。Wi-Fi(WirelessFidelity),即无线保真技术,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。该技术使用的是 2.4GHz附近的频段,该频段目前尚属没用许可的无线频段。其目前可使用的标准有两个,分别是 IEEE802.lla和 IEEE802.11b。这些通讯能力也是属于手