要有jdk。ADT是Android为Eclipse定制的一个插件,目的是为用户提供一个强大的综合环境用于开发Android应用程序。
Android开发最强大的是提供了AVD,俗称“手机模拟器”。这个平台有自己的内核,系统图像和数据分区,还可以有自己的SD卡和用户数据及外观显示等[29]。
3.5本章小结
本章主要主要是系统的需求分析。着重介绍了系统的功能分析,把系统分割成四个主要大的模块进行分析,包括地图管理、轨迹管理、规划导航路径和远程跟踪四个大的模块。系统的主要界面需求,罗列了主操作界面、查询地址界面、路径规划界面、新建跟踪界面、归结列表界面、地图展示界面和gps跟新频率设置界面。并根据Android操作系统的特点,设计了两种数据存储模式:文件存储和SQLite数据库存储。最后简单介绍了系统开发所学的环境需求
第四章 Android手机导航的总体设计
4.1 系统功能模块划分
整个系统功能通过数据存储模块、系统主模块、查询地址模块、路径规划模块、跟踪路径展示模块、新建跟踪模块模块以及远程跟踪模块来实现。如图4-1所示。
图 4-1 系统功能模块
系统设计了数据存储模块来管理跟踪数据,它负责创建和打开路径数据的存储系统,并向其它模块提供数据访问接口。该模块基于类Locationdata来实现。
系统模块是整个系统的入口。它实现的功能包括显示主界面、打开其它功能模块。该模块基于类MainActivity来实现。
查询地址模块负责输入指定的经纬度,在地图上显示次位置,输入指定的名称,在地图上查找,并显示给用户。该模块基于类FindPlaceActivity来实现。
路径规划模块主要负责获取用户当前位置,用户手动输入要到达位置,有了这两个GeoPoint对象,在通过Intent的方式调用内置地图程序,显示规划路径在地图上。该模块基于DirectionRouteActivity来实现[30]。
新建跟踪模块主要负责,用户输入此次跟踪的title,一段描述性的文字,来生成一个track。该模块基于类NewTrackActivity来实现。
路径跟踪展示模块,主要负责启动Service,通过运行Service,时刻监听位置的变化,并将轨迹在地图上显示出来。这个模块主要由类ShowTrackActivity来实现。
远程跟踪模块,主要负责用户的远程跟踪,监视,手机端传递位置信息给服务器。这个模块主要由类ConnectService来实现。
4.2 系统架构设计
系统类似c/s架构模式,应用主要完成开发的是系统客户端的操作。手机客户基本可以实现已知经纬度的查询、指定地点的查询、跟踪轨迹的存储、规划导航路径、GPS更新频率设和地图等级设置、跟踪轨迹的展示和远程跟踪。结构如图4-2。
图4-2 系统功能框图
已知经纬度的查询
此功能是针对第一需求设计,根据已知坐标(latitude, longitude),在地图上显示次位置
指定地点的寻址
此功能针对第二需求设计,根据用户输入的地址名称,在地图上显示此位置
规划导航路径
此功能针对第三需求设计,调用getLocationProvider()取得现有的Location,以此取得目前所在位置的地理坐标(fromGeoPoint),而在版型配居中提供一个EditText Widget来让用户输入要前往的地址,通过地址反查取得目的地的地理坐标(toGeoPoint),有了这两个GeoPoint的对象,再通过Intent的方式调用内置地图程序。
gps更新频率和地图等级设置
此功能针对第四需求设计,目的是设置整个跟踪过程的gps更新频率和地图等级设置
跟踪轨迹的展示
此功能是针对第四需求设计,地图展示,记录经过每个纬度的信息,并在地图上划出所经过的位置,记录用户整个跟踪过程所经过的地方。
跟踪轨迹的存储
此功能是针对第四需求设计,使用android内嵌的Sqlite数据库,存储跟踪轨迹,方便用户查询以前的旅行记录。
远程跟踪
此功能针对第五需求设计,实现远程监控,实时查看用户手机位置。
4.3用户界面设计
Android系统设计主要来源与界面的设计。一个Android的应用是由一个或多个Activity组成的[31]。Activity是一个UI的容器,其本身并不在用户界面上显示出来。本文主要设计了7个操作界面来实现用户与系统的交流(如图4-3)。
图4-3 系统界面
主操作界面是系统开启后的第一个用户界面。该界面展示了一个地图,下面有两个按钮负责地图等级的缩放。界面对应的系统菜单MENU内包括搜索、路径规划、新建跟踪、查询轨迹、地图模式、设置六个菜单选项,用户可以选择不通的菜单执行相应的系统功能。
已知经纬度查询界面该界面设计了EditText,分别用来输入要查询的经度和纬度。此外,界面还包括“查询”、“放大”、“缩小”三个按钮,点击查询按钮地图将显示出那个坐标的位置,并且标记为红色“I’m here”。
输入地址查询界面,该界面有一个EditText,用来输入用户要查询的位置信息。此外此界面还包含三个按钮“查询”、“放大”、“缩小”,点击查询,地图显示以此地址为中心,并且要查位置名字显示在地图相应位置。
路径规划界面,该界面有一个EditText,用来输入用户要到达的位置名称。此外此界面还有三个按钮“规划”“放大”“缩小”。点击规划,地图上就会显示相应的规划路径。
新建跟踪界面此界面设计了连个EditText,一个用来输入跟踪名,一个用来输入跟踪描述。还用一个确定按钮,点击按钮进入地图展示界面。同时数据库写入一条记录。
归结列表界面此界面使用一个列表用来显示所有跟踪记录。对应系统菜单中有继续跟踪、编辑描述、返回。点击列表中的一条记录,进入地图展示界面。
地图展示界面,此界面描述了整个跟踪过程,轨迹被标注在地图上。此界面有八个按钮,分别负责地图的缩放和移动。还用地图模式的切换。
Gps跟新频率和地图等级设置界面,此界面使用两个Spinner,用来选择gps的更新和地图等级设置。点击保存,数据被保存在SharedPreferences中。用来设置跟踪时地图的设置。
4.4 本章小结
本章对系统的主要设计思路做了清晰的阐述。主要介绍了系统主要的模块构成,整个系统功能通过数据存储模块、系统主模块、查询地址模块、路径规划模块、跟踪路径展示模块、新建跟踪模块模块以及远程跟踪模块来实现。同时对系统结构进行了划分,实现已知经纬度的查询、指定地点的查询、跟踪轨迹的存储、规划导航路径、GPS更新频率设和地图等级设置、跟踪轨迹的展示和远程跟踪。最后介绍了系统的主要界面,主要设计了7个操作界面来实现用户与系统的交流。
第五章 数据存储设计
5.1数据存储设计原理
典型的桌面操作系统提供一种公共文件系统——任何应用软件可以使用它来存储和读取文件,该文件也可以被其他的应用软件所读取。Android采用了一种不通的系统,在Android中,所有的应用软件数据为该软件所私有。在Android中,可供选择的存储方式有SharedPreferences、文件存储、SQLite数据库方式、内容提供器(Content provider)和网络存储[32] 。
数据存储方式有几种,分别是可以数据存储在文件系统中,或者数据库中。为了以后扩展方便,这里选择数据库存储方式。在Android上,可以非常方便的使用Sqlite数据存储。
这个程序需要保存3类数据,一类是跟踪名称,另外一类是每次跟踪过程中读取的位置信息,还有一类是应用配置信息。配置信息指的是一些可以配置的选项,如多久跟新一次gps信息,地图默认级别等。前面两种数据会随着使用时间越来越多,
上一篇:
基于Android平台的天气软件论文
下一篇:
试论APP广告在手机中的应用