Android平台GPS系统的应用开发

简介: 第一部分、前述: Android作为Google移动互联网战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。Google的目标是让移动通信不依赖于设备,甚至是平台。出于这个目的,Android将完善而不是替代Google长期以来推行的移动发展战略:通过与全球各地的手机制造商和移动运营商成为合作伙伴,开发既实用又有吸引力的移动服务,并推广这些产品。
+关注继续查看

第一部分、前述:

Android作为Google移动互联网战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。Google的目标是让移动通信不依赖于设备,甚至是平台。出于这个目的,Android将完善而不是替代Google长期以来推行的移动发展战略:通过与全球各地的手机制造商和移动运营商成为合作伙伴,开发既实用又有吸引力的移动服务,并推广这些产品。

随着城市化的进展和家用轿车的普及.原本根遥远的全球卫星定位系统(Global Position System.6Ps)的使用越来越多,但车挪导航仪高昂的价格和每次地图数据痒升级所需的费用.导致车载GPS导航产品仍旧没有非常普及。而且适用于在个人徒步行走的GPS实时导航产品还非常少。

 

GPS导航系统是集中应用了自动定位技木、地理信息系统(简称GI S)与数据库技木、计算机技术、无线通信技术的高科技综含系统。依据车载导航系统把车辆和道路综合起来考虑.运用各种高新技术系统可以有效解决交通问题。目前随着智能手机的普及.如何在智能手机中开发GPS导航系统可以说是目前的一个热点问题。

第二部分、体系结构:

1、Android SDK架构

Android平台由操作系统、中间件、用户界面和应用软件组成。它采用软件堆层的架构,主要分为三部分。底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。

      第一层,应用程序层,该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。

     第二层,应用程序框架层,该层是Android应用开发的基础,开发人员大部分情况是在和它打交道。应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。

     第三层,系统库和Android运行时,系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如android.os、android.net、android.media等等。后者是一种基于寄存器的java虚拟机,Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。

     第四层,Linux内核,Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也是作为硬件与软件栈的抽象层。驱动:显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等。

 

2、开发环境

操作系统:Microsoft Windows 7

IDE: Ecplise  Latefrom Version 3.3.1.1

开发包:Android SDK

模拟机:Android2.1或Android2.3等

第三部分、需求分析

1、GPS导航应用系统设计规划

本设计的实现思路是在智能手机上开发一个GPS应用程序,运行该程序后,在其主界面上可以创建一个新的跟踪,然辰在后台启动一个Service,定时读取GPS数据获得用户目前所在的位置信息,将其存入数据库中,用户可以选择以往的跟踪记录,将其轨迹显示在蚍.由此可以记录用户去过的位置。

基于上面的思路,基于Android的GPS导航应用开发的框图如图1所示:在智能手机的硬件平台上,基于android手机操作系统来开发GPS导航应用。我们可以把这个GPS应用开发分为如下步骤: (1)规划应用UI。(2)设计储存,创建数据库、表。(3)实现页面Active的跳转。(4)实现服务Service。(5)完善和实现程序。(6)程序打包、签名并发布。