Android手机地图应用软件开发设计方案Word文档格式.docx
- 文档编号:16650644
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:44
- 大小:1.85MB
Android手机地图应用软件开发设计方案Word文档格式.docx
《Android手机地图应用软件开发设计方案Word文档格式.docx》由会员分享,可在线阅读,更多相关《Android手机地图应用软件开发设计方案Word文档格式.docx(44页珍藏版)》请在冰豆网上搜索。
4.5.1应用程序流程跳转………………………………………………………16
4.5.2应用程序流程跳转及Activity分析…………………………………16
5手机地图应用软件的实现………………………………………………………………18
5.1程序主界面………………………………………………………………………19
5.2程序主界面的实现………………………………………………………………19
5.3我的地图功能实现………………………………………………………………22
5.4实时定位功能实现………………………………………………………………25
5.5绘制图形功能实现………………………………………………………………27
5.6地图标记功能实现………………………………………………………………28
5.7地点搜索功能实现………………………………………………………………29
5.8公交查询功能实现………………………………………………………………31
5.9离线地图功能实现………………………………………………………………32
6结束语……………………………………………………………………………………34
6.1总结………………………………………………………………………………34
6.2展望………………………………………………………………………………34
参考文献……………………………………………………………………………………36
附录…………………………………………………………………………………………37
摘要
随着日异月新的科技发展,人们的生活越来越丰富多彩。
我们已经身处信息爆炸以及知识经济繁荣的世界。
这样的潮流同时带动了移动设备的迅猛发展,其中智能手机大有作为。
而安卓操作系统正是现今智能手机上最为流行,最为开放,最有可能统治智能手机市场的一种功能强大的系统。
本文通过介绍安卓系统的历史渊源,体系结构以及同各大主流手机操作系统的对比,指出安卓系统能独树一帜,统领手机市场的必然性。
本文还全面展示了用Eclipse开发工具开发手机应用软件的方法,介绍了例如Activity,Intent,Service以及ContentProvider等基础概念,分析了安卓应用程序的目录结构,基本组件以及数据存取等。
在这些基本概念的理解之上,本文还详尽介绍了手机地图开发的步骤和实现机制。
通过XX公司提供的API,获取其地图密钥,结合帮助文档,实现了地图的定位,路线绘制以及标记等基本功能。
文章最后全面展示了此款手机地图应用软件的系统界面,调试结果以及各大功能,从而说明前期设计理念和方法的正确性和可行性。
关键词:
安卓,智能手机,定位,地图
1绪论
1.1选题背景和意义
莱特发明飞机的前200年,人们都说那种在天上飞翔的机械根本不可能实现,同样,人们也无法想象贝尔发明的电话最终会演变成现在的移动电话。
进入3G时代的人们,早就不能满足于用手机打电话或者发短信,现在的手机已经成为我们不可缺少的娱乐工具,闲暇之余,我们用手机看电影,听音乐,看电子书,和家人视频聊天,我们甚至用手机网上购物,把手机充当支付工具。
这些强大的功能是一般手机系统或是非智能手机所不能实现的。
软件的实现需要硬件的支持才能完成,所以要实现以上功能,必须是以硬件同等发展为前提的。
而近些年,人们就可以切身体会到硬件的变化,手机内存卡容量的不断增大,电阻屏向多点式电容屏的转变,还有各种芯片运算速率的不断加快,摄像头像素的不断细化,使得上述需求得到更有利的满足。
正是在这样的背景之下,谷歌公司在2005年推出了第一代安卓智能手机操作系统。
经过8年的发展,我们惊奇的发现,如今在电脑上流行的社交,娱乐等应用程序,可以同样的在安卓手机上运行,所以,当电脑上的应用软件更新的时候,也意味着你的手机应用软件需要更新了。
于是,人们终于感受到“PC机最终会手机化,而手机终将会PC机化”这种预言,这并不是一种矛盾,而是信息革命前行之路上的必然,只有更满足人们使用习惯,使用快捷方便的形式和工具才能不被淘汰,继续发展,“优胜劣汰”在这里同样适用。
手机地图应用软件正是一款满足人们需求的软件,通过它,人们不仅能随时随地知道自己的位置,还能方便的查询附近的餐馆,商店以及汽车站等信息,大大地改善了我们的生活质量。
而在几十年前,对于个人开发者来说,要开发一款手机地图几乎不太现实,因为在当时,手机开发者要实现地图服务,大多数需要GPS传感器支持,与此同时还要支付某些地图所有者相关费用。
而如今,只需要申请简单的密钥,程序员就可以轻松免费地调用谷歌或者XX等大型公司的地图服务,而在安卓系统上,开发地图也不再需要直接控制GPS,而是基于Web上的开发。
这样,不仅省去了和地图开发商沟通的人力物力,而且使程序员能更有效、更集中在软件开发本身。
因此,基于安卓系统的手机地图应用软件开发是十分有意义的,它不仅能让初学者更好的了解安卓系统,熟悉安卓开发的完整过程,还能培养我们面对用户需求,分析并解决问题的能力,加强我们分析市场,并根据市场导向及时有效地制定方案的洞察力,为我们不如社会,走向工作岗位提供强有力的实践基础。
1.2安卓发展历史
(1)2005年Google收购了刚刚成立了22个月的Android公司。
(2)2007年11月5日,以Google为首的34家公司宣布成立开放手机联盟(OpenHandsetAlliance,简称OHA)。
(3)2008年9月22日,美国运营商T-MobileUSA在纽约正式发布第一款Google手机——T-MobileG1。
下面,将用表格的形式来说明安卓不同版本的相关变化。
表1-1Android各大版本功能及相关变化
Android版本号
相关功能
1.0
2.0
3.0
4.0.1
AndroidMarket;
网页浏览器;
照相机支持;
E-mail传输;
声音识别;
支持Wi-Fi和蓝牙
优化硬件速度;
支持更多屏幕分辨率;
改良用户界面;
内置相机闪光灯;
改进虚拟键盘;
支持动态界面设计
仅供平板电脑使用;
GoogleeBooks;
GoogleTalk视讯功能;
支持多核心处理器
统一了手机和平板电脑使用的系统,应用会根据设备自动选择最佳显示方式;
提升硬件性能,系统优化,流畅度提升;
脸部识别锁屏;
内置流量监控功能
相关版本的截图如图1-1,图1-2,图1-3。
图1-1搭载Android2.2Froyo的GoogleNexusOne
图1-2搭载Android2.3Gingerbread的Google'
sNexus
图1-3Android4.1Home界面显示
1.3安卓与主流手机系统
当今流行的手机系统中,除了Android系统之外,还有诺基亚的塞班系统,苹果公司的iOS操作系统,微软公司的WindowsPhone系统以及黑莓的RIM系统。
下面,就这几款软件与Android作简要的对比:
(1)塞班系统:
Symbian系统是塞班公司为手机而设计的操作系统,其优点是在安卓出现之前,占有了市场份额的绝大部分,但由于缺乏新技术支持,驻足不前,导致用户量骤减。
塞班系统具有较完整的功能,并且简单易用,对手机的内存要求比较低,但是其反应速度较慢,且并不利于软件更新,为相关功能的扩展带来不便。
因此,它被淘汰成为必然。
(2)iOS操作系统:
其全称是iPhoneOS,其第三方软件十分丰富,屏幕支持多点式触摸,可以通过屏幕对应用进行直接的操作,这是苹果公司的一大创举,由于其界面稳定友好,受到了广大用户的喜爱。
但是其缺点在于,无论从硬件还是软件方面,苹果公司对改操作系统进行了绝对的保护,完全封闭了iOS。
另外一方面,苹果的产品价格不菲,影响了iOS在低端市场的推广和发展。
由于Android和iOS十分相似,所以下面将用表格的形式対它们进行比较。
表1-2AndroidVSiOS
Android
iOS
可以在PC,MAC和Linux下开发
以Linux为基础
Java
25美元
可以通过Web下载应用程序
支持Flash
Google,ARM,高通,三星
超过50000个应用程序
只能在MAC下开发
以MACOS为基础
ObjectiveC
每年99美元
只能在AppStore下载应用程序
不支持Flash
Apple
超过100000个应用程序
(3)WindowsPhone8系统:
目前WindowsPhone机型的最新版本,仅是诺基亚Lumia610采用的Tango系统,也被称为WP7.5系统,但其定位低端,性能一般。
AT&
T版本的WindowsPhone8机型,将定位在高端机、中低端机两个类别,且机型代号不尽相同,代号“Prodigy”的机型极有可能定位在高端机型,而代号“AC/DC”机型则被限定在中低端行列。
它的开发语言是C#,有利于初学者学习,但由于发布时间较晚,上市机型偏少等缺点,使得其较Android和iOS更缺乏竞争力。
1.4本文主体结构
第一章介绍了应用系统的开发背景和开发意义,简要叙述了Android系统的发展历史,同时深入比较了安卓系统同其他主流手机操作系统的区别。
第二章详细地介绍了安卓系统,其中包括SDK的介绍,系统应用程序的组成,系统应用程序的体系结构,为以后章节的开发奠定了基础。
第三章首先介绍了系统应用需要的开发工具——Eclipse,然后详细的说明了开发应用所需要搭建的环境,最后简要介绍了虚拟机的使用方法。
第四章首先介绍了手机地图的开发方法和步骤,同时说明了开发的理念和本款软件的优势。
其次,分析了功能需求,初步设定了软件所需要的基本功能。
最后,把软件合理模块化,将系统的程序流程图绘制完成。
第五章首先展示了手机地图的整体界面,然后逐一介绍了各大功能的实现方法,最后展现了调试结果。
第六章总结了本文的相关工作,指出了应用软件的很多疏漏和需要改进的地方,对安卓系统应用以及本文软件的前景作出了展望。
2安卓系统简介
2.1安卓SDK
学过Java的人都知道,AndroidSDK类似于JDK,它的全称是AndroidSoftwareDevelopmentKit,即安卓系统的软件开发工具包。
这个开发包可以从相关网址经行下载,其中,官方版网址为
AndroidSDK管理器提供了3个平台的版本:
Windows、Linux(i386)和MacOSX(Intel),下载时可以根据目标平台选择相应的SDK进行下载。
2.1.1AndroidSDK内容
打开下载并安装好的SDK,可以看到文件夹中含有如图2-1所示的一些子文件夹。
图2-1SDK包含的文件
下面就这些文件作简要的介绍[1]:
(1)docs文件夹中包含的是完整的AndroidSDK参考文档,包括SDK发布的历史信息(主要包括该版本的亮点和与上一版本的API差异报告)、开发引导和API参考。
(2)tools文件夹中存放的是SDK附带的Android平台的公用工具,如Android模拟器、SQLite数据库工具等。
(3)platform-tools文件夹中存放的是与平台有关的工具,如调试桥接工具、Dalvik字节码转换工具、Android资源打包工具等。
(4)samples文件夹中存放的是相关的开发实例,初级开发者可以通过这些实例代码更好地理解安卓应用程序的实现过程。
2.1.2AndroidAPI核心包分析
从安装系统平台的最底层到最高层的基本核心API包有如下[2-3]:
(1)Android.util:
包含一些底层辅助类,例如,特定的容器类、XML辅助工具类等。
(2)Android.os:
提供基本的操作服务,消息传递和进程间通信IPC。
(3)Android.graphics:
作为核心渲染包,提供图形渲染功能。
(4)Android.text、Android.text.method、Android.test.style、Android.test.util:
提供一套丰富的文本处理工具,支持富文本,输入模式等。
(5)Android.database:
包含底层API处理数据库,方便操作数据库表和数据。
(6)Android.content:
提供各种服务访问数据在手机设备上,程序安装到手机设备和其他的相关资源,以及内容提供展示动态数据。
(7)Android.view:
核心用户界面框架。
(8)Android.widget:
提供标准用户界面元素,list(列表),button(按钮),layoutmanagers(布局管理器)等,以上是组成我们界面的基本元素。
(9)Android.app:
提供高层应用程序模型,实现使用Activity。
(10)Android.provide:
提供方便调用系统提供的contentproviders的接口。
(11)Android.telephony:
提供API系统交互和手机设备的通话接口。
(12)Android.webikit:
包含一系列工作在基于web内容的API。
除了以上面介绍的这些核心包外,Android还提供了一些可选的API,如:
GPS的API-LBS定位服务(Location-BasedService),可以通过集成的GPS芯片来接收卫星信号,从而确定手机的位置;
多媒体接口(MediaAPIs)Android平台集成了很多影音解码器及相关的多媒体API,通过这些可选的API,开发者可以让手机支持MP3、MP4、高清晰视频播放等;
图形处理API,Android平台上的游戏娱乐功能,可以支持3D游戏;
低级硬件访问,这个功能主要用于控制手机的底层方面操作[4]。
2.1.3AndroidSDK提供的工具包
Google公司为Android开发平台提供Android模拟器和Eclipse的Android开发工具插件,AndroidSDK也包含了各种在模拟器用于调试、打包和安装的工具,其针对不同的使用场景,能带来很多便利[5]。
(1)Android系统模拟器(AndroidEmulator):
一个运行在计算机上的虚拟移动模拟器,可以使用模拟器在一个实际的Android运行环境下设计,调试和测试用户的应用程序。
(2)集成开发环境插件:
用于Eclipse集成开发环境的Android系统应用开发工具插件,它为Eclipse集成开发环境增加了强大的功能,使得创建和调试Android应用程序更加简单和快速。
(3)调试系统监视服务:
它集成在Dalvik(Android平台的虚拟机)中,用于管理运行在模拟器或设备上的进程,并协助进行调试。
可以用它来去除进程、选择一个特定程序来调试、生产跟踪数据、查看堆和线程数据、对模拟器或设备进行屏幕快照等。
(4)Android系统调试桥:
它用于向模拟器或手机设备安装应用程序的Apk文件和从命令行访问模拟器或手机设备。
也可以用于将标准的调试器连接到运行在Android模拟器或手机设备上的应用代码。
2.2安卓系统的应用程序组成
开发安卓系统应用程序之前,了解其组成是十分重要的,几乎所有的应用程序都包含如下几个方面的内容:
Activity、BroadcastIntentReceive、Service、ContentProvider。
当然,在某些特殊情况,取上述四大部分的三大部分内容便可完成一个完整的应用程序开发。
2.2.1Activity
首先,必须弄清楚Activity的具体含义。
其实,Activity相当于一个应用程序的门面,也即一个屏幕就是一个Activity。
每个Activity有序的组合、跳转便构成了一个应用程序。
每个Activity都有相应的生命周期,分别是产生、运行和销毁。
在Android系统中为了在各个Activity之间进行跳转可以使用Intent,Intent中两个最重要的部分是Intent的动作(Action)和动作对应的数据(data)[6]。
此外还有一个IntentFilter类,它与Intent有着密切的关系,IntentFilter类是用来描述Intent请求的,如果有一个Intent的有效请求,那么IntentFilter就会被用来描述一个Activity操纵那个Intent。
2.2.2BroadcastIntentReceiver
顾名思义,这是一种事件响应的机制,即对程序的某种指令做出响应,并通知其他应用程序。
有些BroadcastIntentReceiver需要在AndroidManifest.xml文件中注册以后才能被系统执行,但有些在系统开启的时候会自动执行。
这是一种很重要的响应机制,它使得应用程序有了动态和广播的特性。
2.2.3Service
Service是用来处理耗时比较长的操作,它不同于Activity,它是一个应用程序组件,没有图形化的界面,不是一个单独的进程。
正如字面意思一样,它类似于一个后台服务者。
在安卓系统中,启动一个Service的方法是调用StartService(Intentservice)方法,启动之后就可以控制后台程序的运行了。
2.2.4ContentProvider
ContentProvider是一个强大的获取数据和存储数据的接口。
如果两个应用程序需要交换数据,ContentProvider是必不可少的。
用ContentProvider的好处在于,外界可以通过这个接口方便地对数据进行增,删,改,查操作。
常用的接口有:
(1)query(Uri,String[],String[],String):
通过关键字查询数据[5-8]。
(2)insert(Uri,ContentValues):
将一组数据插入到指定的地方。
(3)update(Uri,ContentValues,String,String[]):
更新数据。
(4)delete(Uri,String,String[]):
删除数据。
2.3安卓系统的应用程序体系结构
要了解安卓系统的应用程序体系结构,首先需要明白其基础框架结构。
图2-2为Google官方网站提供的一张安卓的体系结构图。
图2-2安卓系统体系结构图
由这张图可以知道,软件的结构从下往上依次是:
(1)基于Linux内核的操作系统:
它包括了一些显示器的驱动程序、照相机的驱动程序以及闪存的驱动程序等等。
(2)库和运行时环境:
库中包括一些程序包,大多数是用C或C++编写并封装的;
安卓的运行时环境和Java的类似,包括了核心包、开发中常用的类库(如IO,Utility等类)、一个针对手机优化过的虚拟机。
(3)应用程序框架:
提供了一些手机开发最基本的API,程序员开发工作主要是基于这个框架之上的。
(4)应用程序:
程序员开发的程序便在这个层上。
3开发工具及系统环境搭建
3.1开发工具简介
学过Java的人都用过Eclipse,这是一款功能强大的软件,是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
另外,Eclipse附带了一个标准的插件集,最新的版本还附带了ADT等开发工具。
Eclipse官方下载网站是:
http:
//www.eclipse.org/downloads/。
图3-1为其界面。
图3-1Eclipse界面
从这张图便可以看出,Eclipse是一款界面友好的开发软件,它强大的功能使得程序员不用花费大量时间和精力在语法上,这样有利于节约时间,提高开发效率。
因此,Eclipse越来越受开发者的青睐。
3.2开发环境搭建
本文的开发环境为Windows7,为开发安装的相关软件包括Eclipse最新版、AndroidSDK、JDK1.6。
下面简要介绍环境搭建的一般步骤:
(1)JDK的下载:
官方网站
安装好JDK后,有一个细节需要注意,那就是环境变量的更改。
鼠标右击“我的电脑”,选择“属性”,在弹出的对话框中选择“高级系统设置”,再在弹出对话框选择“环境变量”,接下来你就可以设置相关路径了。
(2)安装Eclipse。
下载完成后,一般是以压缩包的形式呈现在用户面前,只要解压缩就可以使用了。
第一次开启Eclipse最好设定一个统一的工作路径,这样有利于以后的开发工作。
(3)安装AndroidSDK。
下载网址为:
要特别注意,新版的SDK已经
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 手机 地图 应用软件 开发 设计方案