定位系统的应用范围非常广泛,无论在个人、企业还是政府机构,对于位置信息的获取都是极其重要的。在互联网的时代,通过定位系统获得定位信息非常必要。因此,一个方便、快确、准确的定位系统发展前景会非常乐观。
1.2.2 关于Android
Android,是一种智能操作系统,其基于Linux,且开放源代码。Android操作系统更多的应用于移动设备,诸如手机、平板电脑等。自从2008年第一款搭载Android操作系统的智能手机HTC G1面世以来,整个手机市场就发生了翻天覆地的变化。智能手机呈现爆发式的增长,虽然如今的增长趋势已经缓和,但是整个移动智能手机市场依然非常庞大。而Android系统作为智能手机市场的翘楚,占据了很大一部分比例。
Google公司为Android开发者提供了的软件开发包SDK[15],包含了调试器、库、基于AMEU的手机模拟器、开发文档、示例代码等一系列开发工具。Android平台支持Windows、Linux和Mac OS 系统,而在Windows系统中,一般采用Eclipse+ADT(Android Development Tools)的方法进行Android程序开发环境的搭建[16],方便快捷,这也是Android系统吸引了大量开发者目光的原因之一。
Android采用的Java语言作为开发语言,Eclipse作为一款优秀的集成开发环境,在众多插件的配合下,可以实现各种语言的程序开发。在ADT的配合下,开发者可以非常方便的在该平台下进行Android程序的开发。然后在创建的AVD(Android Virtual Device)即Android系统模拟器上来运行、测试程序。当然,开发者也可以用打字Android系统的真机进行测试运行。
一个Android程序一般包含一个或者多个组件,最常用的就是Activity和View,Activity是负责和用户进行交互的组件,而View组件是每个UI、容器控件的基类,也就是用户所实际看到的部分。View需要通过Activity显示出来,应用有多个界面就要用多个Activity来相互切换显示。Service在Android中是与Activity平等的,区别在于Service一般不需要和用户交互,仅仅在后台运行,故而它没有图形界面。BroadcastReceiver也是一个重要的组件,是作为Android应用中的其他组件的监听器而存在。每个Android应用之间是相互独立存在的,而ContentProvider就提供了一种各个Android应用之间进行数据交互的机制,来保证各个应用之间的协调配合。最后是Intent和IntentFilter,这对于Android应用来说意义巨大,其作用主要是在各个Activity相互启动的时候进行通信,包括发送数据和返回数据,保证了应用的各个部分正常运行。
Android应用作为一个开源的操作系统,有几个重要的特质:开放性,应用程序多样性,应用的可扩展性,应用网络适应性,以及应用的并行性。基于此,Android是一款非常符合互联网时代的产品,其发展前景也将继续保持良好。
1.2.3 百度地图API
百度地图[17],[18]为百度公司旗下的重要产品之一,它提供了一项网络地图搜索服务,在国内,其覆盖400多城市和1000多县区地域,范围广。自从百度地图推出以来,功能不断完善,包含了各种类型的可视图,如卫星图、三文地图、街景图等等,丰富多样,也更加适合国人的使用习惯。同时,为了适应互联网时代的发展,2010年4月,百度地图宣布向开发者免费开放地图API。随后,2011年百度地图相继发布了移动版的Android和iOS版SDK,使得开发者对地图应用的开发得到满足。
百度地图API共分为几大板块来开放给开发者,包括Web开发、服务接口、Android开发和iOS开发等,使整个软件生态链形成,很好地满足了移动智能软件对获取用户位置信息的需求。
百度地图API具有几大功能:可以提供地图的展示,地图的操作;对用户感兴趣的地点进行检索,能够实现地址与地理坐标互相转换;提供了公交信息和换乘查询,为驾车用户规划路径,为步行路径进行检索的服务;对多种地图覆盖物提供支持,比如定位图层、标注、几何图形等;采用了GPS、WiFi、基站等混合定位模式,定位精准;通过手动及SDK接口可以导入离线地图;支持客户端及Web端的导航[19]。由此可见百度地图API的强大功能,也为开发者提供了很大的自由发挥的空间,开发出更多更适合用户的应用。 百度地图基于Android平台的定位系统设计与实现(4):http://www.751com.cn/jisuanji/lunwen_22052.html