最后是对课题的总结与致谢、参考文献部分。
2系统开发技术简介
2。1 Android系统简介
Android系统起初并不是Google创造的,而是由Andy Rubin创立的Android公司创造的。后来Google公司收购了Android公司,而Google的Android产品负责人则由Andy Rubin担任, 2007年的11月5日Google发布了Android1。0操作系统。而当时的Android还没有获得大众的支持,2009年5月Google发布了历史性意义的Android1。5版本,该版本以“豪华”的界面体验和蓝牙功能吸引了大量的目光。而现在的Android系统经过了多次的改版,已经超出了手机操作系统的范畴,它已经被广泛应用于TV、手表等移动可穿戴设备。论文网
Android系统以Linux为底层基础,以软件叠层的方式构建了4层结构:操作系统层、中间件层、用户界面层以及应用软件层,各层彼此分离且分工明确。如图2。1所示为Android系统的体系结构:
图2。1 Android系统体系结构
从图2。1可以看出Android系统自上而下主要由应用程序层、应用程序框架层、函数库、运行时以及Linux内核这5个部分组成[8]。各部分介绍如下:
1、应用程序层
Android系统包含一系列通常由JAVA语言编写的核心应用程序,例如电子邮件、短信、
拨号程序等。
2、应用程序框架
Android应用程序框架给众多开发者提供了大量的API,在开发过程中开发人员很多时候
都是在和此层打交道。
3、函数库
Android系统库主要包括系统C库、媒体库、LibWebCore、Surface Manager、FreeType、
SGL、3D libraries、SQLite等。
4、运行时
Android运行时由两部分组成:Android核心库集和ART。其中核心库集里面包含了大多
数Java语言所需要调用的功能函数,而应用程序则由虚拟机来运行。Android5。0以前的Android运行时由Dalvik虚拟机和Android核心库集组成,但由于Dalvik虚拟机在Android 应用程序运行时进行动态编译并执行,从而导致程序运行时比较缓慢;而ART模式则是在用户安装 App的时候就进行预编译从而提高了APP的运行效率。
5、Linux内核
Android核心系统服务需要Linux2。6内核。
2。2 地图及定位服务
目前有很多家服务提供商提供地图服务如谷歌、百度和高德等,这些服务商不仅提供各种web地图服务还提供功能强大的地图API供开发者使用,要想使用服务商提供的地图服务与数据只需调用地图API即可[9]。本次系统选用高德地图SDK来进行开发。高德作为一家地图公司并且拥有着甲级测绘资质,已经为众多开发人员准备好了现成的免费的——2D地图、3D地图、卫星图,甚至还有三维及室内地图服务。
随着移动互联网的迅猛发展人与手机显得越来越密不可分,科技的进步同时也让提供位置服务成为了可能,LBS地理位置服务顺势而生并且成为了各类手机应用程序的必备功能。而要想实现LBS那么定位是必不可少的——因为要想为用户提供各类位置服务就必须获取到用户的位置。定位可以单独应用到各种各样的环境下,比如车载导航、户外紧急救援、物流、航空、船运、网站商务服务等都是应用定位技术的典范。定位与地图的组合也可以达到意想不到的效果,多适用于在地图上展示定位目标的当前位置或者周边的商家或建筑,典型案例为各大外卖及打车APP。当前实现手机定位的方式大致分为GPS、基站、混合定位三类,GPS定位利用手机内置的GPS模块获取位置信息,定位精度高且信息全,但是其对GPS卫星信号有较大的依赖性,在室内或者城市高楼密布的区域定位会出现不准确的现象,所以GPS更加适用于开阔地带;基站定位顾名思义就是经过运营商的基站实现定位,与GPS定位相比基站定位的定位精度受基站密度影响,功耗更低数据也更加丰富;混合定位是GPS与基站与wifi的组合式定位,集合几大定位为一体具有无可比拟的优势,混合定位最为精确,不论是开阔地还是都市和峡谷都可以实现精准的定位,目前很多APP都采用混合式定位。诸如百度、高德等服务提供商同样为开发者提供了定位SDK,能更加方便地获取高精度的位置信息,开发人员可以很方便的在自己的APP上实现定位功能。