计算机科学毕业论文基于ANDROID手机系统的软件开发与应用

上传人:仙*** 文档编号:149436822 上传时间:2022-09-07 格式:DOC 页数:72 大小:3.02MB
收藏 版权申诉 举报 下载
计算机科学毕业论文基于ANDROID手机系统的软件开发与应用_第1页
第1页 / 共72页
计算机科学毕业论文基于ANDROID手机系统的软件开发与应用_第2页
第2页 / 共72页
计算机科学毕业论文基于ANDROID手机系统的软件开发与应用_第3页
第3页 / 共72页
资源描述:

《计算机科学毕业论文基于ANDROID手机系统的软件开发与应用》由会员分享,可在线阅读,更多相关《计算机科学毕业论文基于ANDROID手机系统的软件开发与应用(72页珍藏版)》请在装配图网上搜索。

1、基于Android手机系统的软件开发与应用 毕 业 论 文(设 计)题目: 基于Android手机系统的软件开发与应用 英文: The Development and Application of the Software Basing On Android System 院 (系) 别: 计算机科学学院 专业(班级): 姓 名: 学 号: 指 导 教 师: 答 辩 日 期: 基于Android手机系统的软件开发与应用摘要Android平台原意是“机器人”,于2007年11月推出立即受到许多手机厂商,运营商和芯片厂商的大力支持。Android基于Linux平台的开源手机操作系统的名称,该平台由

2、操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。许多厂商继而组建成一个全球性的联盟组织开放手机联盟(Open Handset Alliance,OHA),如三星,摩托罗拉,LG电子,日本NTT DoCoMo,中国移动,Intel,等34家公司都加入了这个庞大的阵营。Android在中国的前景十分广阔,首先是有许多成熟的消费者,在国内,android社区十分红火,这些社区为android在中国的普及做了很好的推广作用。国内厂商和运营商也纷纷加入了android阵营,包括中国移动,中国联通,华为通讯,联想等大企业。目前Android允许开发人员自由获取

3、,修改代码,平台完全开放,吸引了越来越多的程序员加入Android开发阵营之中,Android的快速发展给了商家,程序员一个非常宝贵的机会,谁能把握住这个机会,商机,谁就能获得成功。目前,Android的软件在中国还是有限,甚至不能说成熟,因此开发功能强大,方便消费者日常使用的软件已经是一个迫在眉睫的任务。关键字:Android手机软件,Intent机制,Activity,DOM,SAX,SQLite数据库The Development and Application of the Software basing on Android SystemABSTRACT The origin of

4、the meaning of Android platform is Robot. In November 2007,Android is publish. Many mobile phone manufacturers, chip venders and operators all support it. Android platform bases on the Linux which consist of operation system,middleware,UI and application software.Android is claimed to be the first t

5、o make real mobile terminal open and complete mobile software.A lot of manufacturers and companys form into a global Alliance - Open mobile Handset, Kent league (Alliance OHA), such as samsung, MOTOROLA, LG electronics, Japan, China mobile, DoCoMo NTT Intel and so on .34 companies have joined this h

6、uge Alliance. Take the prospects of Android in China, Firstly there are many mature consumers. In China, the communities of Android are so hot. It do a very good promotion effect for Android. Domestic manufacturers and operators have joined the android, including China mobile, China unicom, huawei,

7、lenovo, Meizu etc. Currently Android allows developers to have the free access codes, modify them.Android platform completely open.This attracts more programmer join in Android development camp. The rapid development of the Android gives business, programmers a very precious chance. If you can seize

8、 the opportunity,you will succeed.At present, in China , the Android software, cant even say mature.So to develop some powerful, convenient softwares for comsumers is an urgent task.Key words:Android Software;Intent;Activity;DOM,SAX;SQLite Database目录序言11 绪论211 Android的背景212 Android的意义313 Android核心知识

9、41.3.1 架构图直观41.3.2 Linux Kernel详解51.3.3 AndroidRuntime详解51.3.4 Libraries详解51.3.5 ApplicationFramework详解61.3.6 Applications详解614 开发Android所采用的技术71.4.1 Java程序设计语言71.4.2 Web Service技术71.4.3 XML技术81.4.4 DOM和SAX解析技术91.4.5 SQLite数据库101.4.6 Location定位技术111.4.7 Android Intent机制121.4.8 Photoshop图像处理技术132 AND

10、ROID软件需求分析1421 Android软件的概述1422 Android软件的设计目标1423 Android的软件的可行性分析1524 Android的设计思想1525 Android软件的功能需求分析1626 Android的开发及运行环境192.6.1 硬件环境192.6.2 软件环境193 ANDROID软件的概要设计2031 Android软件的功能分析2032 Android软件总体设计2033 Android软件各模块的设计213.3.1 播放器模块的设计213.3.2 天气预报模块的设计223.3.3 地震模块的设计233.3.4 位置模块的设计243.3.5 餐馆信息模

11、块的设计2534 Android软件的分析与划分273.4.1 播放器模块状态273.4.2 天气预报模块状态273.4.3 地震信息模块状态283.4.4 位置定位模块状态283.4.2 餐馆信息模块状态294 ANDROID软件的详细设计3041 数据库需求分析3042 数据库概念结构设计3143 Android数据存储Shared Preferences3444 软件主要功能模块的实现344.4.1 首页的实现过程344.4.2 播放器的实现374.4.3 天气预报的实现384.4.4 地震信息的实现424.4.5 位置定位的实现454.4.6 餐馆信息的实现495 ANDROID软件测

12、试5651测试的目的与目标5652测试的方法5653系统测试的用例585.3.1 天气预报测试用例585.3.2 地震信息测试用例585.3.3 位置定位测试用例585.3.3 位置定位测试用例586 ANDROID软件的安全606.1 应用程序版本管理606.2 手机签名策略60结论61参考文献62致谢63附录64附录A 在模拟器中虚拟SD卡64附录B Android开发的环境搭配6425序言Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,早期由Google开发,后由开放手机联盟开发。它采用了软件堆层 的架构,

13、主要分为三部分。底层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为Google电话或GPhone。目前最新版本为Android2.2。2010年谷歌开发者大会上,Android2.2发布,名称为Froyo,意为冻酸奶。Android 作为谷歌企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。全球为数众多的移动电话用户正在使用各种基于 Android 的电话。谷歌的目标是让(移动通讯)不依赖

14、于设备甚至平台。出于这个目的,Android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。Android平台的研发队伍阵容强大,包括摩托罗拉、Google、HTC、T-Mobile、高通、魅族、三星、LG以及中国移动在内的34家企业,都将基于该平台开发手机的新型业务,应用之间的通用性和互联性将在最大程度上得到保持。“开放手机联盟”表示,Android平台可以促使移动设备的创新,让用户体验到最优越的移动服务,同时,开发商也将得到一个新的开放级别,更方便的进行协同合作,从而保障新型移动设备的研

15、发速度。 34家企业的加盟,也将大大降低新型手机设备的研发成本,完全整合的“全移动功能性产品”成为“开放手机联盟”的最终目标。 这34家企业中并不包含把持Symbian的诺基亚,以及凭借着iPhone风光正在的苹果公司,美国运营商AT&T和Verizon,当然微软没有加入,独树一帜的加拿大RIM和他们的Blackberry也被挡在门外。Android在中国的前景十分广阔,首先是有许多成熟的消费者,在国内android社区十分红火,这些社区为android在中国的普及做了很好的推广作用。国内厂商和运营商也纷纷加入了android阵营,包括中国移动,中国联通,华为通讯,联想等大企业。目前Andro

16、id允许开发人员自由获取,修改代码,平台完全开放,吸引了越来越多的程序员加入Android开发阵营之中,Android的快速发展给了商家,程序员一个非常宝贵的机会,谁能把握住这个机会,商机,谁就能获得成功。目前,Android的软件在中国还是有限,甚至不能说成熟,因此开发功能强大,方便消费者日常使用的软件已经是一个迫在眉睫的任务了。迫于这个原因,我开发了这个运行于Android系统的软件,该软件采用Android SDK 1.5+MyEclipse8.0开发,具有平时消费者特需求的功能,有很好的使用价值。软件包括了大约5个功能,有音乐播放器,天气预报,地震消息查看,位置定位和创意十足的餐馆管理

17、。这些小功能能很好地为用户提供功能及实时消息,方便日常生活。1 绪论11 Android的背景 Android平台原意是“机器人”,于2007年11月推出立即受到许多手机厂商,运营商和芯片厂商的大力支持。Android基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。许多厂商继而组建成一个全球性的联盟组织开放手机联盟(Open Handset Alliance,OHA),如三星,摩托罗拉,LG电子,日本NTT DoCoMo,中国移动,Intel,等34家公司都加入了这个庞大的阵营。2008年9月22

18、日,美国运营商德国T-Mobile在纽约正式发布第一款Android手机T-Mobile G1。该款手机为台湾宏达电代工制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbps,并支持Wi-Fi。 2009年9月初,摩托罗拉坐镇主场在旧金山举办的Giga OM 2009大会上携手T-Mobile正式发布了旗下首款搭载Android操作系统的智能手机-MOTO CLIQ ,在沉寂许久后的首次爆发吸引了全球无数用户的目光。如果说T-Mobile G1的出世开辟了Android领域先河的话,那么摩托罗拉CLIQ的发布则更多的被视为昔日手机霸主的强

19、势回归! 2009年10月28日正式发布了Android 2.0 智能手机操作系统,今天摩托罗拉和网络运营商Verizon共同宣布了首款采用Android 2.0的手机Droid, 2010年1月7日,Googel在其美国总部正式向外界发布了旗下首款合作品牌手机Nexus One(HTC Desire),并同时开始对外发售。12 Android的意义Android在中国的前景十分广阔,首先是有许多成熟的消费者,在国内,android社区十分红火,这些社区为android在中国的普及做了很好的推广作用。国内厂商和运营商也纷纷加入了android阵营,包括中国移动,中国联通,华为通讯,联想,魅族等

20、大企业。目前Android允许开发人员自由获取,修改代码,平台完全开放,吸引了越来越多的程序员加入Android开发阵营之中,Android的快速发展给了商家,程序员一个非常宝贵的机会,谁能把握住这个机会,谁就能获得成功。目前,Android的软件在中国还是有限,甚至不能说成熟,因此开发功能强大,方便消费者日常使用的软件已经是一个迫在眉睫的任务。因此我早早就涉及手机Android系统的学习,从中发现它与Symbian,windows mobile等系统的不同,Android优势是特别明显的,它具有开放性,所有的应用程序是平等的,应用程序间无界限,快速方便的应用程序开发等特点,这是其他手机系统无

21、法提供给开发者的。Android的一些特性:1.应用程序框架 支持组件的重用与替换2.Dalvik虚拟机 专门为移动设备做了优化3.内部集成浏览器 该浏览器基于开源的WebKit 引擎4.优化的图形库 包括2D和3D图形库,3D图形库基于OpenGL ES 1.0 (硬件加速可选)5.SQLite 用作结构化的数据存储6.多媒体支持 包括常见的音频、视频和静态印象文件格式 (如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)7.GSM电话 (依赖于硬件)8.蓝牙Bluetooth, EDGE, 3G, and WiFi (依赖于硬件)9.照相机,GPS,

22、指南针,和加速度计 (依赖于硬件)10.丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件因此,Android的发展前途是乐观,明朗的。为了这个原因,我们更要开发出质量好,功能多的软件以方便手机用户使用。13 Android核心知识1.3.1 架构图直观下面这张图展示了Android系统的主要组成部分:可以很明显看出,Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详细介绍这5个部分。1.3.2 L

23、inux Kernel详解Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。如果你学过计算机网络知道OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各司其职,各层提供固定的SAP(Service Access Point),专业点可以说是高内聚、低耦合。如果你只是做应用开发,就不需要深入了解Linux Kernel层。1.3.3 Andro

24、idRuntime详解Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个 Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。 Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx 是一套工具,可以將 Java .class 转换成 .de

25、x 格式。一个dex文件通常会有多个.class。由于dex有時必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。Dalvik 虚拟机依赖于Linux 内核提供基本功能,如线程和底层内存管理。1.3.4 Libraries详解Android包含一个C/C+库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。下面列出一些核心库:* 系统C库 标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linux设备* 媒体库基于 PacketVideo的OpenCORE。这些库支持播放和录制许多流行的

26、音频和视频格式,以及静态图像文件,包括MPEG4、 H.264、 MP3、 AAC、 AMR、JPG、 PNG* 界面管理管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层* LibWebCore新式的Web浏览器引擎,驱动Android 浏览器和内嵌的web视图* SGL基本的2D图形引擎* 3D库基于OpenGL ES 1.0 APIs的实现。库使用硬件3D加速或包含高度优化的3D软件光栅* FreeType 位图和矢量字体渲染* SQLite 所有应用程序都可以使用的强大而轻量级的关系数据库引擎1.3.5 ApplicationFramework详解通过提供开放的开发平台,And

27、roid使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。开发者可以完全使用核心应用程序所使用的框架APIs。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。所有的应用程序其实是一组服务和系统,包括:* 视图(View)丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器* 内容提供者(Content Providers)使应用程序能访问

28、其他应用程序(如通讯录)的数据,或共享自己的数据* 资源管理器(Resource Manager)提供访问非代码资源,如本地化字符串、图形和布局文件* 通知管理器(Notification Manager)使所有的应用程序能够在状态栏显示自定义警告* 活动管理器(Activity Manager)管理应用程序生命周期,提供通用的导航回退功能1.3.6 Applications详解Android 装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。更加丰富的应用程序有待我们去开发!14 开发Android所采用的

29、技术1.4.1 Java程序设计语言Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版

30、),JavaME(Java 2 Platform Micro Edition,java平台微型版)。Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。 1.4.2 Web Service技术Web service到底是什么;在什么情况下你应该使用Web service。 分布式应用程序和浏览器 研究一下当前的应用程序开发,你会发现一个绝对的倾向:人们开始偏爱基于浏览器的瘦客户应用程序。这当然不是因为瘦客户能够提供更好的用户界面,而是因为它能够避免花在桌面应用程序发布上的高成本。发布桌面应用程序成本很高,一半是因为应用程序安装和配

31、置的问题,另一半是因为客户和服务器之间通信的问题。 传统的Windows富客户应用程序使用DCOM来与服务器进行通信和调用远程对象。配置好DCOM使其在一个大型的网络中正常工作将是一个极富挑战性的工作,同时也是许多IT工程师的噩梦。事实上,许多IT工程师宁愿忍受浏览器所带来的功能限制,也不愿在局域网上去运行一个DCOM。在我看来,结果就是一个发布容易,但开发难度大而且用户界面极其受限的应用程序。极端的说,就是你花了更多的资金和时间,却开发出从用户看来功能更弱的应用程序。不信?问问你的会计师对新的基于浏览器的会计软件有什么想法:绝大多数商用程序用户希望使用更加友好的Windows用户界面。 关于

32、客户端与服务器的通信问题,一个完美的解决方法是使用HTTP协议来通信。这是因为任何运行Web浏览器的机器都在使用HTTP协议。同时,当前许多防火墙也配置为只允许HTTP连接。 许多商用程序还面临另一个问题,那就是与其他程序的互操作性。如果所有的应用程序都是使用COM或.NET语言写的,并且都运行在Windows平台上,那就天下太平了。然而,事实上大多数商业数据仍然在大型主机上以非关系文件(VSAM)的形式存放,并由COBOL语言编写的大型机程序访问。而且,目前还有很多商用程序继续在使用C+、Java、Visual Basic和其他各种各样的语言编写。现在,除了最简单的程序之外,所有的应用程序都

33、需要与运行在其他异构平台上的应用程序集成并进行数据交换。这样的任务通常都是由特殊的方法,如文件传输和分析,消息队列,还有仅适用于某些情况的的API,如IBM的高级程序到程序交流(APPC)等来完成的。在以前,没有一个应用程序通信标准,是独立于平台、组建模型和编程语言的。只有通过Web Service,客户端和服务器才能够自由的用HTTP进行通信,不论两个程序的平台和编程语言是什么。总结:Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。我们把调用这个Web service 的应用程序叫做客户。1

34、.4.3 XML技术XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。XML的优点:XML与Access,Oracle和SQL Server等数据库不同,数据库提

35、供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。 XML与HTML的设计区别是:XML是用来存储数据的,重在数据本身。而HTML是用来定义数据的,重在数据的显示模式。 XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可

36、以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。 为了使得SGML显得用户友好,XML重新定义了SGML的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得SGML在设计网站时显得复杂化。XML保留了SGML的结构化功能,这样就使得网站设计者可以定义自己的文档类型,XML同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。 因为XML是W3C制定的,XML的标准化工作由W3C的XML工作组负责,该小组成员由来自各个地方和行业的专家组成,他们通过email交流对XML标准的意见,并提出自己的看法 (www.w3.org/TR/WD-xml)。因为XML 是

37、个公共格式, (它不专属于任何一家公司),你不必担心XML技术会成为少数公司的盈利工具,XML不是一个依附于特定浏览器的语言。1.4.4 DOM和SAX解析技术DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而

38、不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX还比它的替代者DOM快许多。选择DOM还是选择SAX? 对于需要自己编写代码来处理XML文档的开发人员来说, 选择DOM还是SAX解析模型是一个非常重要的设计决策。 DOM采用建立树形结构的方式访问XML文档,而SAX采用的事件模型。DOM解析器把XML文

39、档转化为一个包含其内容的树,并可以对树进行遍历。用DOM解析模型的优点是编程容易,开发人员只需要调用建树的指令,然后利用navigation APIs访问所需的树节点来完成任务。可以很容易的添加和修改树中的元素。然而由于使用DOM解析器的时候需要处理整个XML文档,所以对性能和内存的要求比较高,尤其是遇到很大的XML文件的时候。由于它的遍历能力,DOM解析器常用于XML文档需要频繁的改变的服务中。SAX解析器采用了基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。SAX对内存的要求通常会比较低,因为它让

40、开发人员自己来决定所要处理的tag.特别是当开发人员只需要处理文档中所包含的部分数据时,SAX这种扩展能力得到了更好的体现。但用SAX解析器的时候编码工作会比较困难,而且很难同时访问同一个文档中的多处不同数据。1.4.5 SQLite数据库SQLite第一个Alpha版本诞生于2000年5月. 至今已经有10个年头了. SQLite也迎来了一个版本 SQLite 3已经发布. SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windo

41、ws/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite特性:1. ACID事务 2. 零配置 无需安装和管理配置 3. 储存在单一磁盘文件中的一个完整的数据库 4. 数据库文件可以在不同字节顺序的机器间自由的共享 5. 支持数据库大小至2TB 6. 足够小, 大致3万行C代码, 250K 7. 比一些流行的数据库在大部分普通数据库操作要快 8. 简单, 轻松的API 9. 包含TCL绑定, 同时通过Wrapp

42、er支持其他语言的绑定 10. 良好注释的源代码, 并且有着90%以上的测试覆盖率 11. 独立: 没有额外依赖 12. Source完全的Open, 你可以用于任何用途, 包括出售它 13. 支持多种开发语言,C, PHP, Perl, Java, ASP.NET,Python1.4.6 Location定位技术许多人总把GPS定位误认为是手机定位,我们常接到客户的电话,问可不可以GPS手机定位,GPS定位与手机基站定位的原理不同,因而导致二者的定位精度及反应时间也有一定的差距。GPS定位精度高,可以定位到几米,一般是用在物流行业,用于车辆调度,手机基站定位一般都在一两百米左右, 做为调查公

43、司常用的工具.手机定位服务又叫做移动位置服务,它是通过电信移动运营商的网络(如 GSM网、CDMA网)获取移动终端用户的位置信息(经纬度坐标),在电子地图平台的支持下,为用户提供相应服务的一种增值业务,例如目前中国移动动感地带提供的动感位置查询服务等。其大致原理为:移动电话测量不同基站的下行导频信号,得到不同基站下行导频的TOA(Time of Arrival,到达时刻),根据该测量结果并结合基站的坐标,一般采用三角公式估计算法,就能够计算出移动电话的位置。实际的位置估计算法需要考虑多基站(3个或3个以上)定位的情况,因此算法要复杂很多。一般而言,移动台测量的基站数目越多,测量精度越高,定位性

44、能改善越明显。目前手机定位仅仅局限于定位服务,以及通过电子地图服务向用户提供周围一些商场、饭店等服务设施,但还不能进行导航服务。手机定位由于基于现有手机通信基站,受环境影响较大,在郊区和农村可以将移动台定位在1020米范围内;在城区由于高大建筑物较多,电波传播环境不好,信号很难直接从基站到达移动台,一般要经过折射或反射,因此定位精度会受到影响,定位范围为100200米,一般情况定位响应时间在36s之间。而在无法接收到手机信号的地方,就谈不上定位了。而GPS定位由于接收机任何时刻都至少被4颗卫星覆盖,所以信号得到了很好的保证,并且由于卫星居高临下,排除卫星钟及大气干扰等因素,精度也能保证在几米至

45、几十米 谷哥正在测试一项手机定位服务。通过此服务,即使你没有GPS,也能通过你的手机来对你当前的位置进行定位。这项服务将来会加入进谷哥 Maps,这样在你每次搜索时就不用再输入自己当前的位置了。每次一打开Maps,系统就会根据你的位置自动定位到你现在所在的地方,这项定位技术被称为 “我的位置”。只要在安装了相应软件的设备上轻按确认,系统就会在地图上将你的当前位置用一个蓝点标注出来。该定位系统在数据库里储存不同运营商各个不同基站的识别信息,通过对这些数据进行对比来定位用户。当前这个数据库建设还不是很完善,所以“我的位置”使用起来还不是太精确。但相信随着时间的推移,这个数据库会很快地建设起来。谷哥

46、表示这项技术不会收集用户的手机号码以及其他个人信息。而且整个功能也可以随时关闭。用户无需担心自己的隐私被泄露。1.4.7 Android Intent机制Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。Intent这个英语单词的本意是“目的、意向”等,对于较少从事于大型平台开发工作的程序员来说,这可能是一个不太容易理解的抽象概念,因为它与我们平常使用的简单函数/方法调用,或者上节中提到的通过库调用接口的方式不太一样。在Intent的使用中你看不到直接的函

47、数调用,相对函数调用来说,Intent是更为抽象的概念,利用Intent所实现的软件复用的粒度是Activity/Service,比函数复用更高一些,另外耦合也更为松散。 Android中与Intent相关的还有Action/Category及Intent Filter等,另外还有用于广播的Intent,这些元素掺杂在一起,导致初学者不太容易迅速掌握Intent的用法。在讲解这些名词之前,我们先来从下面的例子中感受一下Intent的一些基本用法,看看它能做些什么,之后再来思考这种机制背后的意义。 理解Intent的关键之一是理解清楚Intent的两种基本用法:一种是显式的Intent,即在构造

48、Intent对象时就指定接收者,这种方式与普通的函数调用类似,只是复用的粒度有所差别;另一种是隐式的Intent,即Intent的发送者在构造Intent对象时,并不知道也不关心接收者是谁,这种方式与函数调用差别比较大,有利于降低发送者和接收者之间的耦合。另外Intent除了发送外,还可用于广播。1.4.8 Photoshop图像处理技术Photoshop是Adobe公司旗下最为出名的图像处理软件之一,集图像扫描、编辑修改、图像制作、广告创意,图像输入与输出于一体的图形图像处理软件,深受广大平面设计人员和电脑美术爱好者的喜爱。从功能上看,Photoshop可分为图像编辑、图像合成、校色调色及特

49、效制作部分。 图像编辑是图像处理的基础,可以对图像做各种变换如放大、缩小、旋转、倾斜、镜像、透视等。 图像合成则是将几幅图像通过图层操作、工具应用合成完整的、传达明确意义的图像,这是美术设计的必经之路。 校色调色是photoshop中深具威力的功能之一,可方便快捷地对图像的颜色进行明暗、色编的调整和校正。 该软件是本人先手绘,然后通过数码产品传到电脑,最后用PhotoshopCS4加工而完成的。本软件的主题是小王子,小王子是作家安东尼德圣-埃克苏佩里于1942写成的著名法国儿童文学短篇小说。 本书的主人公是来自外星球的小王子。书中以一位飞行员作为故事叙述者,讲述了小王子从自己星球出发前往地球的

50、过程中,所经历的各种历险。作者以小王子的孩子式的眼光,透视出成人的空虚、盲目和愚妄,用浅显天真的语言写出了人类的孤独寂寞、没有根基随风流浪的命运。同时,也表达出作者对金钱关系的批判,对真善美的讴歌。以这个故事为主题,主要是想宣传作者这种思想,我们可以长大,但童年的那些事千万别忘记。2 Android软件需求分析21 Android软件的概述目前,Android的软件在中国还是有限,甚至不能说成熟,因此开发功能强大,方便消费者日常使用的软件已经是一个迫在眉睫的任务了。迫于这个原因,我开发了这个运行于Android系统的软件,该软件采用Android SDK 1.5+MyEclipse8.0开发,

51、具有平时消费者特需求的功能,有很好的使用价值。软件包括了大约5个功能,有(1)音乐播放器,此播放器简单易用,剔除了用户平时不多用的功能,让音乐做到简单。(2)天气预报,只要你输入想查询的城市,详细的天气预报信息就会毫无保留地展示在你面前。(3)地震消息查看,虽然地震预测在各国还是一个很大难题,但提供一些实时的地震消息还是有一定的参考价值,返还于未然。(4)位置定位,不管你在哪里,高山或是郊区,只要有信号,你就能准确地定位你当前的位置,同时提供GoogleMap让你一目了然,这样今后去旅游或探险之类的活动再也不怕迷失方向了。(5)创意十足的餐馆管理,上班族一定有一个很大的问题,那就是不知道到哪吃

52、饭好,此功能能帮你解决这个烦恼,只要你平时都记录下餐馆的地址之类的信息,那么系统就会帮你随机选出餐馆,同时也提供Google Map地图给你,而且不但如此,系统还能算出你目前到该餐馆的大约路程和到该餐馆所需时间。功能虽小,但却很好地为用户提供功能及实时消息,方便日常生活。一个软件能使你生活过得更顺利,更开心,那么它就有它存在的意义和价值了。22 Android软件的设计目标Android虽然在中国还没有像Symbian系统那样拥有丰富的第三方软件,但它的优越性是显而易见的,它具有开放性,所有的应用程序是平等的,应用程序间无界限,快速方便的应用程序开发等特点,这是其他手机系统无法提供给开发者的。

53、因此借着这个优越的平台,我设计了这个多功能的手机软件,意在方便手机用户的日常生活,例如餐馆信息管理功能,它创意十足。很多上班族一定有一个很大的问题,那就是不知道到哪吃饭好,此功能能帮你解决这个烦恼,只要你平时都记录下餐馆的地址之类的信息,那么系统就会帮你随机选出餐馆,同时也提供Google Map地图给你,而且不但如此,系统还能算出你目前到该餐馆的大约路程和到该餐馆所需时间。功能虽小,但却很好地为用户提供功能及实时消息,方便日常生活。还有其他功能,天气预报,播放器,位置定位等无不是生活中的小帮助。顾这个软件就是意在帮助手机客户解决生活细小问题。23 Android的软件的可行性分析我开发了这个

54、运行于Android系统的软件,该软件采用Android SDK 1.5+MyEclipse8.0开发,具有平时消费者特需求的功能,有很好的使用价值。软件包括了大约5个功能,有(1)音乐播放器,此播放器简单易用,剔除了用户平时不多用的功能,让音乐做到简单。(2)天气预报,只要你输入想查询的城市,详细的天气预报信息就会毫无保留地展示在你面前。(3)地震消息查看,虽然地震预测在各国还是一个很大难题,但提供一些实时的地震消息还是有一定的参考价值,返还于未然。(4)位置定位,不管你在哪里,高山或是郊区,只要有信号,你就能准确地定位你当前的位置,同时提供GoogleMap让你一目了然,这样今后去旅游或探

55、险之类的活动再也不怕迷失方向了。(5)创意十足的餐馆管理,上班族一定有一个很大的问题,那就是不知道到哪吃饭好,此功能能帮你解决这个烦恼,只要你平时都记录下餐馆的地址之类的信息,那么系统就会帮你随机选出餐馆,同时也提供Google Map地图给你,而且不但如此,系统还能算出你目前到该餐馆的大约路程和到该餐馆所需时间。鉴于在Android开源系统的基础上,开发这个功能丰富的软件是完全可行的。24 Android的设计思想目前Android的发展是十分迅速的,从Android SDK1.5到2.2才不足两年,所以可见Android的前途是无法预料的!我想通过这个平台开发一些手机用户生活中需要的细小功

56、能,例如天气预报,位置定位等,特别是餐馆功能,创意十足,上班族一定有一个很大的问题,那就是不知道到哪吃饭好,此功能能帮你解决这个烦恼,只要你平时都记录下餐馆的地址之类的信息,那么系统就会帮你随机选出餐馆,同时也提供Google Map地图给你,而且不但如此,系统还能算出你目前到该餐馆的大约路程和到该餐馆所需时间。于是鉴于这个想法,我用了MyEclipse和ADT插件来开发这个软件,界面是用Photoshop来加工的。25 Android软件的功能需求分析如下是播放器模块的用况分析: 播放器用例图如下是天气预报模块的用况分析: 天气预报用例图如下是地震信息模块的用况分析: 地震信息用例图如下是位

57、置定位模块的用况分析: 定位信息用例图如下式餐馆信息的用况分析: 餐馆信息用例图26 Android的开发及运行环境2.6.1 硬件环境CPU:Intel(R) Celeron(R) M CPU 430 1.73GHz硬盘:320G内存:Kingston 1.5GB2.6.2 软件环境操作系统:Windows 7系统类型:32位操作系统应用软件:JDK Version 1.5+Android SDK 1.5分辨率:推荐使用分辨率为1027*768像素数据库:SQLite数据库(C语言编写的)开发工具:MyEclipse8.0 ADT插件+PhotoshopCS4建模工具:VioletUML用具

58、 3 Android软件的概要设计31 Android软件的功能分析该软件采用Android SDK 1.5+MyEclipse8.0开发,具有平时消费者特需求的功能,有很好的使用价值。软件包括了大约5个功能,有(1)音乐播放器,此播放器简单易用,剔除了用户平时不多用的功能,让音乐做到简单。(2)天气预报,只要你输入想查询的城市,详细的天气预报信息就会毫无保留地展示在你面前。(3)地震消息查看,虽然地震预测在各国还是一个很大难题,但提供一些实时的地震消息还是有一定的参考价值,返还于未然。(4)位置定位,不管你在哪里,高山或是郊区,只要有信号,你就能准确地定位你当前的位置,同时提供GoogleM

59、ap让你一目了然,这样今后去旅游或探险之类的活动再也不怕迷失方向了。(5)创意十足的餐馆管理,上班族一定有一个很大的问题,那就是不知道到哪吃饭好,此功能能帮你解决这个烦恼,只要你平时都记录下餐馆的地址之类的信息,那么系统就会帮你随机选出餐馆,同时也提供Google Map地图给你,而且不但如此,系统还能算出你目前到该餐馆的大约路程和到该餐馆所需时间。功能虽小,但却很好地为用户提供功能及实时消息,方便日常生活。一个软件能使你生活过得更顺利,更开心,那么它就有它存在的意义和价值了。商品功能表:天气预报显示输入城市的天气状况播放器播放手机或内存卡里的音乐文件地震信息显示世界各地的地震信息状况位置定位

60、显示当前的位置,可以通过GPS等获得增加餐馆信息加入平时常去的餐馆或著名的餐馆餐馆编辑可以对数据库里的餐馆信息进行编辑餐馆信息显示用GoogleMap显示餐馆信 32 Android软件总体设计为了保证软件的实用性和应用性,软件的功能是手机客户十分急需的功能,有播放器,天气预报,位置定位,和餐馆信息管理等。有与系统有提供SQLite数据库功能,这极大方便了我们对数据的管理。软件的这些功能都是通过Java语言编写的,利用Google提供Android API来实现功能。界面是本人先手绘,然后通过数码产品传到电脑,最后用PhotoshopCS4加工而完成的。本软件的主题是小王子,小王子是作家安东尼

61、德圣-埃克苏佩里于1942写成的著名法国儿童文学短篇小说。希望自己设计的软件能实现其自身价值。33 Android软件各模块的设计Android软件总体设计图Android应用软件音乐播放器天气预报地震信息位置定位餐馆信息管理总体结构图3.3.1 播放器模块的设计音乐播放器,此播放器简单易用,剔除了用户平时不多用的功能,让音乐做到简单。该模块包括的主要设计查看SD卡或手机中的音乐文件系统提供了ContentProvider,因此可以获取数据库中的文件增加音乐文件(用ADB管理)用ADB命令符来增加歌曲,例如:adb push frank.mp3 sdcard/frank.mp3显示音乐文件信息(歌手,歌曲,专辑名)根据系统提供的信息获取前台播放音乐文件播放器最基本的功能,播放音乐,暂停音乐,停止音乐后台播放音乐文件不用关闭播放器就可以去运行别的程序音乐播放器功能模块后台播放歌曲增加歌曲播放音乐暂停音乐停止音乐歌曲信息显示歌曲列表显示3.3.2 天气预报模块的设计各地气候查询输入城市的拼音,例如广州(guangzhou),就可以获取广州的气候,气温,湿度等信息各地气候实时更新由于天气是变化的,因此可以实时更新气候信息该模块包括的主要设计

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!