Android系统手机地图应用技术软件开发.docx
- 文档编号:9167186
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:56
- 大小:1.69MB
Android系统手机地图应用技术软件开发.docx
《Android系统手机地图应用技术软件开发.docx》由会员分享,可在线阅读,更多相关《Android系统手机地图应用技术软件开发.docx(56页珍藏版)》请在冰点文库上搜索。
Android系统手机地图应用技术软件开发
基于Android系统的手机地图应用软件开发
摘要
随着日异月新的科技发展,人们的生活越来越丰富多彩。
我们已经身处信息爆炸以及知识经济繁荣的世界。
这样的潮流同时带动了移动设备的迅猛发展,其中智能手机大有作为。
而安卓操作系统正是现今智能手机上最为流行,最为开放,最有可能统治智能手机市场的一种功能强大的系统。
本文通过介绍安卓系统的历史渊源,体系结构以及同各大主流手机操作系统的对比,指出安卓系统能独树一帜,统领手机市场的必然性。
本文还全面展示了用Eclipse开发工具开发手机应用软件的方法,介绍了例如Activity,Intent,Service以及ContentProvider等基础概念,分析了安卓应用程序的目录结构,基本组件以及数据存取等。
在这些基本概念的理解之上,本文还详尽介绍了手机地图开发的步骤和实现机制。
通过XX公司提供的API,获取其地图密钥,结合帮助文档,实现了地图的定位,路线绘制以及标记等基本功能。
文章最后全面展示了此款手机地图应用软件的系统界面,调试结果以及各大功能,从而说明前期设计理念和方法的正确性和可行性。
关键词:
安卓,智能手机,定位,地图
TheDevelopmentofMobilePhoneMapBasedonAndroidOperatingSystem
Abstract
Withthedevelopmentofchangeablescienceandtechnology,people’slifehasbecomemoreandmorecolorful.Wehavelivedintheworldthatinformationexplosionandknowledgeeconomyflourishing.Atthesametime,thetideputinmotiononthemobiledeviceswhichhasdevelopedrapidly.Inthesedevices,thesmartphoneismakingitselfthebestone.Nowadays,AndroidSystemwhichisthemostpopularandopen,hasbecomethemostdominatedintelligenthandsetoperatingsystems,anditspowerfulfunctionwillmakeitselftheleaderamongthesmartphonemarket.
ThisarticlehasintroducedthehistoryandstructureofAndroid,andmadeacontrastivewiththepresentmainintelligenthandsetoperatingsystems,throughwhichwecanacknowledgethereasonandinevitabilitywhyAndroidcanbeuniqueanddominatethehandsetphonemarket.
ThisarticlealsoentirelydemonstratedthemethodofdevelopingphoneapplicationwiththeEclipsedevelopmenttool,andintroducedthebasicconceptionsuchas“Activity”,“Intent”,“Service”and“ContentProvider”,andmadeanalysisonarchitecture,basicmodulesanddatastorageoperationofAndroidapplication.Afterunderstoodallthesebasicconception,thisarticlealsodetaileddemonstratedtheprocedureandrealizationmechanismofmobilephonemapdevelopment.ThroughtheBaiduCorporation’sAPIandobtainedthemapkeyandcombinedwithrelativehelpdocument,itcanrealizethebasicfunctionsuchaspositioning,routedrawingandmarking.
Attheendofthisarticle,theinterfaceofthemobilephonemapapplicationaswellasthedebuggingresultsandessentialfunctionhasbeentotallydemonstrated,whichstronglyprovedthatthedesignphilosophyandmethodarerightandfeasible.
Keywords:
Android,smartphone,positioning,map
摘要……………………………………………………………………………………Ⅰ
ABSTRACT……………………………………………………………………………………Ⅱ
1绪论………………………………………………………………………………………1
1.1选题背景和意义…………………………………………………………………1
1.2安卓发展历史……………………………………………………………………2
1.3安卓与主流手机系统……………………………………………………………3
1.4本文主体结构……………………………………………………………………4
2安卓系统简介……………………………………………………………………………6
2.1安卓SDK…………………………………………………………………………6
2.1.1AndroidSDK内容…………………………………………………………6
2.1.2AndroidAPI核心包分析…………………………………………………6
2.1.3AndroidSDK提供的工具包………………………………………………7
2.2安卓系统的应用程序组成………………………………………………………8
2.2.1Activity…………………………………………………………………8
2.2.2BroadcastIntentReceiver…………………………………………8
2.2.3Service……………………………………………………………………8
2.2.4ContentProvider…………………………………………………………8
2.3安卓系统的应用程序体系结构…………………………………………………9
3开发工具及系统环境搭建………………………………………………………………10
3.1开发工具简介……………………………………………………………………10
3.2开发环境搭建……………………………………………………………………10
3.3虚拟机简介………………………………………………………………………11
4安卓系统手机地图设计…………………………………………………………………13
4.1开发方法及步骤…………………………………………………………………13
4.2设计理念…………………………………………………………………………13
4.3功能需求分析……………………………………………………………………14
4.4系统模块分析……………………………………………………………………14
4.5程序流程图………………………………………………………………………15
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
致谢…………………………………………………………………………………………35
参考文献……………………………………………………………………………………36
附录…………………………………………………………………………………………37
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类是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 系统 手机 地图 应用技术 软件 开发
![提示](https://static.bingdoc.com/images/bang_tan.gif)