已阅读5页,还剩66页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学科分类号 0801 本 科 毕 业 设 计题 目(中文): 基于手机平台GPS轨迹重现系统设计与实现 The Design and Implementation of Reappear the GPS Track Based on the Cell Phone Platform(英文): 姓 名 陈 鑫 林 学 号 2008180508 院 (系) 工 学 院 专业、年级 计算机科学与技术 2008级 指导教师 钟坚成 讲师 二一二 年 五 月湖南师范大学本科毕业设计诚信声明本人郑重声明:所呈交的本科毕业设计,是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除设计中已经注明引用的内容外,本设计不含任何其他个人或集体已经发表或撰写过的作品成果。对本设计的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本科毕业设计作者签名: 二一二年 五 月 十二 日一、湖南师范大学本科毕业设计任务书论 文 题 目基于手机平台GPS轨迹重现系统设计与实现作 者 姓 名陈鑫林所属院、专业、年级 工学 院 计算机科学与技术 专业 0 年级指导教师姓名、职称钟坚成(讲师)预计字数20000开题日期 2011年12月26日 选题的根据: Google Map一个家喻户晓的电子地图,其强大的功能简单的操作已被世人接受。我的位置: “我的位置”在地图上显示您的当前位置(通常在 1,000 米范围之内)。即使没有 GPS,您也可以确定自己的位置。 谷歌手机地图还支持内置 GPS,也可以链接到蓝牙 GPS 传感器,以便更准确地确定用户的位置。 Google Map 可以记录我们行程,但是并没有我们所定制的,更方便的轨迹重现,当我们在旅行的时候,记录下自己的旅行轨迹,再可以根据需求 重现旅行轨迹,并对旅行轨迹导出照片,然后分享旅途轨迹,让旅途更快乐。主要内容: 1. 欢迎界面模块:显示本系统对使用者的欢迎信息及系统LOGO;2. 操作功能显示模块:系统主要功能显示,菜单显示;3. 跟踪列表: 对已存在跟踪的记录显示;4. 新建跟踪: 新建一个GPS跟踪记录;5. 地图显示: 根据GPS跟踪记录显示已存在的GPS位置点(GPS轨迹重现);6. 导出地图:根据所选择跟踪记录下的GPS位置点所在google map地图导出成图片保存;7. 导出手绘地图:根据其它设置中选择的手绘地图模板将所选择跟踪记录下的GPS位置点所在google map地图导出成图片保存;8. 系统参数设置模块:设置系统相关参数;9. GPS参数设置:设置系统中是否采用GPS及GPS采集时间间隔;10. 地图模式参数设置:设置系统中地图模式的种类及地图默认显示级别;11. 其它参数设置:系统相关字体颜色及手绘地图模板设置;12. 图象合成分析:系统MAP与相关手绘图象合成处理;13. 时实信息采集分析:系统时实坐标信息分析处理;14. 我的当前位置模块:显示GPS采集的当前位置并显示在地图上;15. 关于我们模块:软件版本以及开发者介绍 研究方法: (1)文献资料法:查看Android的开发文档 ,研究GoogleMap 的API 说明,确定课题研究的内涵也外延更加丰富,目标更明确,更合理。(2) 行动研究法: 在网上查找GoogleMap相关的应用,查看程序逻辑,是否适合自己的课题,了解别人的优缺点。查看开发者博客,通过别人的经验来更好的完成课题,做到最合理化,对代码中出现的问题进行反复研究,用最简单,科学的方法去解决。(3)经验总结法:从各个应用上提取有用的东西,吸取优秀的方法,提高课题人性化,将复杂的步骤简单化。完成期限和采取的主要措施: 第一周:需求分析,描述计算机模型,书写软件需求说明文档. 第二周:选择模块划分方案和选择平台、语言 第三周:学习语言和熟悉平台,查阅Google Map 相关资料,熟悉API 第四周:数据模型的设计及数据库设计规范和编码规范文档的编写 第五六周:界面设计 第七周:系统的整体设计和框架的搭建 第八周:建立各功能模块的用例图和时序图等 第九至十二周:代码编写 第十三周:测试,优化 确定时间:答辩 最后:撰写论文 指导教师意见: 签 名: 年 月 日开 题 报 告 会 纪 要时间 地点与会人员姓 名职务(职称)姓 名职务(职称)姓 名职务(职称)会议记录摘要:会议主持人签名:记录人签名:年 月 日指导小组意见负责人签名: 年 月 日学 院 意 见负责人签名: 年 月 日湖 南 师 范 大 学 工 学院指导教师指导毕业论文情况登记表 论文(设计)题 目基于手机平台GPS轨迹重现系统设计与实现学生姓名陈鑫林所属专业、年级 计算机科学与技术 专业 08 级指导教师姓名钟坚成职 称讲师学 历硕士指导时间指导地点指 导 内 容学生签名备 注二、湖南师范大学本科毕业论文评审表毕业设计题 目基于手机平台GPS轨迹重现系统设计与实现作者姓名陈鑫林所属院、专业、年级工学院 院 计算机科学与技术 专业 08年级指导教师姓名、职称钟坚成、讲师字 数16966定稿日期2012-05-12中文摘要本文主要介绍利用Android智能手机平台和GPS的特性,结合GoogleMap,设计并实现的一个基于Android移动手机平台的GPS轨迹重现系统,通过对整个系统的各个主要功能模块进行详细的分析与研究,通过严格的测试,可以稳定良好的运行,并保证数据记录的准确性,基本上能满足手机用户的记录服务需求。在满足了服务的需求的情况下,对系统的UI进行优化的设计,体现出更加人性化的使用感受,提高用户的粘度。通过Google在Android系统提供的GoogleAPI,开发基于GoogleMap的应用Trackme,实现旅行的轨迹记录与重现。更加简单与清新的界面设计,实现更人性化的体验。关键词(3-5个)Android;Google Map ; Google API ;轨迹重现;英文摘要The paper mainly illustrated that an Android-based GPS track recurrence system for Mobile phone was designed and implemented by using Android smartphone platform and the characteristics of GPS, and combining with Google Map. By analyzing and studying the major function modules of the system carefully and testing them rigorously, the system can not only run smoothly and well , but ensure the accuracy of thedatarecords, it can meet mobile users demand for record service in the main. Under the premise of meeting the requirement for service, an optimized design to the UI of the system was carried out, this will reflect more humanized experience of use and improve the users viscosity. With the help of Google API which Google provides on Android system, I developed an application Trackme based on Google Map, so that the track and recurrence of the record will be implemented. Through simpler and cleaner UI design, we can have a more humanized experience. 关键词(3-5个)Android;Google Map ; Google API毕业论文指导教师评定成绩评审基元评审要素评审内涵满分实评分选题质量30%目的明确符合要求选题符合专业培养目标,体现学科、专业特点和综合训练的基本要求10理论意义或实际价值符合本学科的理论发展,有一定的学术意义;对经济建设和社会发展的应用性研究中的某个理论或方法问题进行研究,具有一定的实际价值10选题恰当题目规模适当5难易度适中5能力水平35%查阅文献资料能力能独立查阅相关文献资料,归纳总结本论文所涉及的有关研究状况及成果,并恰当运用5综合运用知识能力能运用所学专业知识分析、研究和阐述问题;论文内容有适当的深度、广度和难度10研究方案的设计能力整体思路清晰;研究方案合理可行5研究方法和手段的运用能力能运用本学科常规研究方法及相关研究手段(如计算机、实验仪器设备等)进行实验、实践并加工处理、总结信息10外文应用能力能阅读、翻译一定量的本专业外文资料、外文摘要和外文参考书目(特殊专业除外)体现一定的外语水平5论文质量35%文题相符较好地完成论文选题的目的要求5写作水平论点鲜明;论据充分;条理清晰;语言流畅10写作规范符合学术论文的基本要求。用语、格式、图表、数据、量和单位、各种资料引用规范化、符合标准10论文篇幅文科类不少于10000字,理工科类不少于7000字,艺体类不少于5000字,外国语言文学类不少于5000个实词。5成果的理论或实际价值成果富有一定的理论深度和实际运用价值 5正文部分成绩(上表):总成绩:评定等级:外文资料译文成绩:指导教师评审意见: 指导教师签名: 三、湖南师范大学本科毕业论文答辩记录表论文题目基于手机平台GPS轨迹重现系统设计与实现作者姓名陈鑫林所属院、专业、年级工学 院 计算机科学与技术 专业 0 年级指导教师姓名、职称钟坚成 讲师答 辩 会 纪 要时间地点答辩小组成员姓 名职务(职称)姓 名职务(职称)姓 名职务(职称)辩中提出的主要问题及回答的简要情况记录:会议主持人签名:记录人签名:年 月 日 答辩小组意见评语:评定等级: 负责人(签名): 年 月 日学院意见评语:论文学院最终评定等级: 负责人(签名): 学院(公章) 年月 日学校意见评语:评定等级: 负责人(签名): 年月 日目 录1引 言11.1选题背景11.2选题介绍11.3选题意义22相关开发技术32.1Android32.2GPS技术32.3Google Map APIs42.4SQLite53系统分析与设计63.1可行性分析63.1.1经济可行性63.1.2技术的可行性63.2需求分析73.3系统总体设计73.3.1设计模式73.3.2系统架构73.3.3系统功能结构83.3.4系统用例图93.3.5文件夹组织结构103.4数据库设计123.4.1数据库设计规范123.4.2SQLite 数据库介绍133.4.3数据库详解144系统详细设计164.1开发过程中用到的最重要的几个类164.2API Key 的申请174.3界面设计194.3.1Android用户界面框架194.3.2欢迎界面204.3.3软件主界面214.3.4轨迹列表界面224.4Google Map GPS 定位模块224.5轨迹记录模块234.6轨迹重现模块235系统展示245.1进入系统245.2进入主界面,新建轨迹并记录255.3轨迹重现26结论27参考文献28致谢30插图索引图 3.1 系统总体功能图8图 3.2 系统用例图9图 3.3 文件夹组织结构10图 3.4 类图14图 4.1 欢迎界面20图 4.2 软件主界面21图 4.3 轨迹列表界面22图 5.1 进入系统界面24图 5.2 开始记录25图 5.3 导入轨迹26插表索引表 3.1 GeoPoint 经纬表14表 3.2 TrackPoint 轨迹点信息表15表 3.3 Track 轨迹表15基于Android GPS轨迹重现系统计算机科学与技术专业 工学院2008级 陈鑫林摘 要本文主要介绍利用Android智能手机平台和GPS的特性,结合GoogleMap,设计并实现的一个基于Android移动手机平台的GPS轨迹重现系统,通过对整个系统的各个主要功能模块进行详细的分析与研究,通过严格的测试,可以稳定良好的运行,并保证数据记录的准确性,基本上能满足手机用户的记录服务需求。在满足了服务的需求的情况下,对系统的UI进行优化的设计,体现出更加人性化的使用感受,提高用户的粘度。通过Google在Android系统提供的GoogleAPI,开发基于GoogleMap的应用Trackme,实现旅行的轨迹记录与重现。更加简单与清新的界面设计,实现更人性化的体验。关键字:Android;Google Map ;Google API ; 轨迹重现; smartphoneAbstractThe paper mainly illustrated that an Android-based GPS track recurrence system for Mobile phone was designed and implemented by using Android smartphone platform and the characteristics of GPS, and combining with Google Map. By analyzing and studying the major function modules of the system carefully and testing them rigorously, the system can not only run smoothly and well , but ensure the accuracy of thedatarecords, it can meet mobile users demand for record service in the main. Under the premise of meeting the requirement for service, an optimized design to the UI of the system was carried out, this will reflect more humanized experience of use and improve the users viscosity. With the help of Google API which Google provides on Android system, I developed an application Trackme based on Google Map, so that the track and recurrence of the record will be implemented. Through simpler and cleaner UI design, we can have a more humanized experience. Keywords :Android;Google Map ; Smartphone301 引 言1.1 选题背景在移动3G 网络发展的今天,智能手机的的广泛使用,使其已经成为了信息化世界的主流掌上设备。在各种智能手机平台中,Android 系统通过其强大的性能,开源性,平台的移植性,已成为了世界上使用最广泛的手机平台之一。在Android 中,Google Map已经成为了必不可少的地图导航软件。Google Map一个家喻户晓的电子地图,其强大的功能简单的操作已被世人接受。我的位置: “我的位置”在地图上显示您的当前位置(通常在 1,000 米范围之内)。即使没有 GPS,用户也可以确定自己的当前位置。 谷歌手机地图还支持内置 GPS,也可以连接到蓝牙 GPS 传感器,以便更准确地确定用户的位置。 Google Map 可以记录我们的行程,但是并没有我们所定制的、更方便的轨迹重现,当我们在旅行的时候,记录下自己的旅行轨迹,再可以根据需求 重现旅行轨迹,并对旅行轨迹导出照片,然后分享旅途轨迹,让旅途更快乐。课程设计目标。1.2 选题介绍在五花八门的Android软件市场中,有各种各样的定位以及导航软件,可是却没有非常好的专门针对旅行记录的软件。Google Map即使强大,定位和地图功能都非常的优秀,却没有我们所定制的,更方便的轨迹重现这一个功能。当我们在旅行的时候,记录下自己的旅行轨迹,再可以根据需求 重现旅行轨迹,并对旅行轨迹导出照片,然后分享旅途轨迹,让旅途更快乐,这就是选题的目标。1.3 选题意义通过Google在Android系统提供的 Google APIs,开发基于Google Map的应用Trackme 。一种全新的旅途记录工具,实现旅行的轨迹记录与旅行之后的旅途轨迹重现。通过更加简单与清新的界面设计,实现更人性化的交互体验。2 相关开发技术2.1 AndroidAndroid1是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android的主要竞争对手是苹果公司的iOS以及RIM的Blackberry OS。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年2月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%。本系统是基于Android平台实现的。2.2 GPS技术GPS 2 ( Global Positioning System ) 即全球定位系统 又称全球卫星定位系统由美国国防部研制 是一个中距离圆型轨道卫星导航系统结合卫星及通讯发展 的 技 术 利 用 导 航 卫 星 进 行 测 时 和 测 距GPS 的基本定位原理是卫星不间断地发送自身的星历参数和时间信息用户接收到这些信息后经过计算求出接收机的三维位置三维方向以及运动速度和时间信息GPS是一个无线电导航系统可以给任何一个 GPS 接收器提供精确的定位和授时服务 。GPS服务于1996年正式向公众免费开放支持世界上的任何地方支持无数的用户接入服务今天的智能手机大多都配备了全功能的 GPS 接收机及配套应用在系统运行中,需要利用到GPS技术来实现定位经纬度,获取位置信息。2.3 Google Map APIsGoogle Maps API3是Google自己推出编程API,可以让全世界对Google Maps有兴趣的程序设计师自行开发基于Google Maps的服务,建立自己的地图网站。在Google Maps API中提供了各种用来控制地图的类,包括地图类(GMap2)、标记类(GMarker)、标记选项类(GMarkerOptions)、折线类 (GPolyline)、经纬度(GLatLng)、命名空间(GEvent)、坐标类(GPoint)、控件的大小类GSize、 interface(GControl)、地图类型类(GMapType)、地图上面的图标类(GIcon)、窗体类(GInfoWindow)、窗体选 项类 GInfoWindowOptions)、接口GOverlay、枚举GMapPane等等。并且Google Map提供了详细的Map 控制的方法,以便对地图进行控制。系统的地图控制技术就是通过Google Map 提供的APIs 来实现的。2.4 SQLite SQLite4,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月. 至今已经有10个年头,SQLite也迎来了一个版本 SQLite 3已经发布。 在系统的数据存储中,正是应用了SQLite 数据库,轻量级的数据库保证了数据读取与存储的高效性和减小了数据库的大小。3 系统分析与设计3.1 可行性分析 采用开源的免费的手机Android系统,并且利用的也是免费的Googlemap APIs 技术来实现课题。3.1.1 经济可行性一个免费平台的软件开发周期和成本都不会太高,而且是面向个人,不会产生企业级应用的成本预算,在开发的过程中,考虑到课题的特性,需要拥有一台可以使用GPS定位,并且是Android系统的智能手机,本人已经拥有一台可用的手机,其它方面,测试,编码,并不会产生太多硬设备的费用。3.1.2 技术的可行性 本系统主要用到了目前比较流行的手机系统Android,以及Google Map API技术,由于以前并没有Android开发的经验,也没有学习相关知识,所以需要从头开始学习Android,不过在掌握了JAVA 的基本开发的基础上,学习Android的过程中并没有遇到非常大的难题,因为Google提供了在eclipse上面的ADK,一步步的完善课题,并且参照到了Google Map APIs 有提供详细的开发说明书,不懂一点问一点,慢慢完善课题并不会非常的困难,在理论上是可行的。3.2 需求分析问题描述:设计一款可以应用于 GPS 轨迹重现的Android 应用程序,在硬件上需要一台Android系统的可以应用GPS定位的手持设备。 程序运行的时候,要求能实时的记录行走中的GPS经纬点数据,建立数据表,并存储,然后通过程序调用保存好的轨迹数据,通过点点相连连接成一条轨迹,实现重现。为了提高程序的人性化,可用性,在UI设计方面需要做的更好一些,要比同类市场中的GPS 记录程序更加的吸引用户,还需要通过提高软件的交互性,来留住用户。3.3 系统总体设计3.3.1 设计模式 设计模式5是用来解决一类相关问题的通用技术,而不是解决问题的最优方法。它是一套被反复使用、多数人知晓的、代码设计经验的总结。使用设计模式能够提高代码的可重用性、让代码更容易被他人理解、并保证代码可靠性。设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块砖石一样。本系统采用了Singleton Pattern(单子模式)、Proxy Pattern (代理模式)、Factory Method Pattern (工厂方法模式) 、Adapter Pattern(适配器模式)。3.3.2 系统架构 系统采用了基于Android 2.3.3 的Google APIs3.3.3 系统功能结构根据系统的需求分析,可将系统分为四个功能模块:欢迎界面、操作功能显示、系统参数设置、关于我们。如下图所示:图3.1系统总体功能图3.3.4 系统用例图图3.2系统用例图前置条件:进入该系统操作界面主事件流1:跟踪已存在轨迹。主事件流2:新建GPS轨迹。主事件流3:查看地图。主事件流4:导出地图轨迹图片。主事件流5:系统设置。3.3.5 文件夹组织结构图3.3文件夹组织结构文件夹目录说明:(1) SRC目录下Cxl.trackable 包含的包: Bean: 对象与表的映射 comm: 公共包 contrl: 控制层包,放监听器。 dao: 映射对象与数据库交互的层 maps: 地图处理层 service: Android服务(2) GEN目录下 系统资源包(3) BIN目录下 系统class 包,字节码对象3.4 数据库设计3.4.1 数据库设计规范结构原则:用户在定义数据表时,可适当的修改字段的名称,但数据库一旦分发,不得轻意修改,所以设计时一定要与业务紧密联系。表与表的约束关系要建全,对有必要的地方建立级联关系。设计表完成后,也要写好相应的Info类文件和Hibernate的映射文件,以供程序开发用,程序开发过程中,禁止在程序中直接用数据库字段进行操作。必须要有日志表,记录对数据库操作的跟踪。必须有:操作者、操作内容、操作时间.如果有必要,业务复杂的可创建新表来辅助完成!实体间关系要明确合理(一对一、多对一或多对多)过程如果包含多个业务流程,必要时要将这个业务作为一个事务处理字段冗余的排除类别和状态的多选:多选分为必选(1.n)和可选(0.n)。如是必选应该注明,程序中应做检查。3.4.2 SQLite 数据库介绍SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的。SQLite 的特性: (1) ACID事务 (2)零配置 无需安装和管理配置 (3) 储存在单一磁盘文件中的一个完整的数据库 (4) 数据库文件可以在不同字节顺序的机器间自由的共享 (5) 支持数据库大小至2TB (6) 足够小, 大致3万行C代码, 250K (7) 比一些流行的数据库在大部分普通数据库操作要快 (8)简单, 轻松的API (9) 包含TCL绑定, 同时通过Wrapper支持其他语言的绑定 (10) 良好注释的源代码, 并且有着90%以上的测试覆盖率 (11)独立: 没有额外依赖 (12) Source完全的Open, 你可以用于任何用途, 包括出售它 (13) 支持多种开发语言,C, PHP, Perl, Java, C#,Python3.4.3 数据库详解类图如下:图3.4 类图(1) GeoPoint:经纬表:记录GPS的经纬度信息;经纬点信息。表3.1 GeoPoint 经纬表字段名字段类型说明idVarchar2(20)Primary keylonfloat经度latfloat纬度altfloat高度errorRatefloat偏差(2) TrackPoint:轨迹的详细GPS经纬信息;一条轨迹的详细GPS记录点信息。表3.2 TrackPoint 轨迹点信息表字段名字段类型说明idVarchar2(20)Primary key trackIdvarchar2(20)轨迹IDgeoPointIdvarchar2(20)经纬度点ID(3) Track:记录轨迹的信息; 轨迹的名称,时间记录,长度。表3.3 Track 轨迹表字段名字段类型说明idVarchar2(20)Primary key createTimevarchar2(25)创建轨迹时间saveTimevarchar2(25)保存轨迹时间countePlong统计经纬点个数4 系统详细设计4.1 开发过程中用到的最重要的几个类(1) MapController :控制地图移动、伸缩,以某个GPS坐标为中心控制MapView 中的 View 组件管理Overlay提供的基本功能使用多种地图模式 ( 地图模式 ( 某些城市可实时对交通状况进行更新 ),卫星模式,街景模式)来查看Google Map 。(2)MapView : Mapview是用来显示地图的View组件它派生android view ViewGroup当MapView获得焦点可以控制地图的移动和缩放。MapView只能被 MapActivity来创建,这是因为mapview需要通过后台的线程来连接网络或者文件系统,而这些线程要由mapActivity来管理(3)MapActivity : 管理Activity的生命周期,为mapview 建立及取消对 map service 的连接MapActivity是一个抽象类,任何想要显示MapView的activity都需要派生自 MapActivity 。并且在其派生类onCreate ( )中都要创建一个MapView实例,可以通过 MapViewconstructor (然后添加到 View 中ViewGroupaddView ( View ) )或者通过 Layout.XML来创建 。(4)Overlay : Overlay 是覆盖到 MapView的最上层可以扩展其ondraw接口,自定义在MapView中显示一些自己的东西 。MapView 通过 MapView getOverlays ( ) 对 Overlay 进行管理 。(5)LocationProvider : 该类是定位提供者的抽象地址查询类,定位提供者具备周期性报告设备地理位置的功能。(6)LocationManager : 该类提供访问定位服务的功能,提供获取最佳定位提供者的一系列功能。(7)LocationLister : 提供定位信息发生改变时的回调功能。(8)Criteria : 该类使得应用能够通过在 LocationProvider 中设置相应的属性来选择合适的定位提供者 。(9)Geocoder : 用于处理地理编码和反向地理编码的类 。地理编码是将地址或其他描述转变成精度和纬度,反向地理编码则是将经度和纬度转变成地 址或描述语言 。地图的基本界面组件为“Map View ”,在使用Google Map服务时,必须首先通过 Google Map网站通过注册证书取得属于自己的Google地图服务开发密钥( API Key ),并在AndroidManifestxml 注册相应的活动和权限,然后进行一系列的地上显示、控制 、层叠和定位信息的功能 。4.2 API Key 的申请开发基于GoogleMap的应用时需要使用Google提供的的APIkey,必须先申请key,然后才能开发基于地图的应用。a. 找到你的debug.keystore文件 首先检查C:Documents and SettingsAdministrator.android下面是否有debug.keystore,如没有则在eclispe下新建一个以Google APIs为Build Targe的项目,则该文件会生成。 b. 取得debug.keystore的MD5值在命令行下输入: keytool -list -alias androiddebugkey -keystore C:UsersAdministrator.androiddebug.keystore -storepass android -keypass android 就可以获取到MD5指纹c. 申请Android Map 的API Key通过下面的网站申请API密钥/intl/zh-CN/android/maps-api-signup.html 我的API密钥是:0geu78m6wI5WskAVy5TTeYbpGcCQXIFs5w1qb7g4.3 界面设计4.3.1 Android用户界面框架Android用户界面框架(Android UI Framework)采用视图树(View Tree)模型Android用户界面框架中的界面元素以一种树型结构组织在一起,称为视图树Android系统会依据视图树的结构从上至下绘制每一个界面元素。每个元素负责对自身的绘制,如果元素包含子元素,该元素会通知其下所有子元素进行绘制单线程用户界面在单线程用户界面中,控制器从队列中获取事件和视图在屏幕上绘制用户界面,使用的都是同一个线程特点:处理函数具有顺序性,能够降低应用程序的复杂程度,同时也能减低开发的难度缺点:如果事件处理函数过于复杂,可能会导致用户界面失去响应4.3.2 欢迎界面图4.1 欢迎界面意义: 1. 说明软件的主题:记录旅途,分享快乐。 2. 说明软件的版本: Trackme1.03. 提高软件的交互性。简单的设计体现简介化主题。4.3.3 软件主界面图4.2 软件主界面 设计思路:在主界面上要有软件的基本操作,其中包括“设置”、“地图与轨迹切换”、“截图”、“我的位置”、“轨迹信息”、“开始记录”“停止并保存”、“地图缩放”。在拥有这么多功能的同时,还需要让界面保持简单,清晰,让用户拿上就知道怎么用,并且在主界面标识出记录的基本信息,让记录更加直观。 意 义: 更舒服的UI,更简洁的操作,带来更人性化的感受。4.3.4 轨迹列表界面图4.3 轨迹列表界面设计思路:在轨迹的列表中,应该包含轨迹的基本信息:“轨迹名称”、“轨迹记录的时长”、“轨迹的路程”。使用户一目了然的找到已经记录的轨迹。意义:课题的主要功能,提高人性化感受。4.4 Google Map GPS 定位模块实现方法:系统通过扫描GPS信号获取到GPS当前的点,并将其置为地图中心,实现“我的位置”功能。“我的位置”因为在设备移动的过程中所处的定位位置也在变化,所以会不停的更新,当用户移动地图,查看其它的区域之后,只需要点击“我的位置”就可以重新回到以“我的位置”点为中心的地图区域。4.5 轨迹记录模块 实现算法:在设备移动的过程中不停的更新GPS 位置,并将GPS所在经纬点的信息(经度值,纬度值)记录进入数据库。为了避免在记录的过程中产生过多的冗余数据,重复的GPS点,有设置过滤机制,(过滤条件:GPS在8秒以内的时间中没有移动将不会被记录)将一些满足过滤条件的GPS记录忽略掉,以便减少数据库的信息量,和轨迹的准确度。为了防止因为某些事件导致GPS经纬点丢失,通过时间和距离两重机制来控制记录的频率:每间隔8秒,或者移动距离超过10米将会记录一次。4.6 轨迹重现模块 实现算法:调用已经记录好的轨迹数据,开始在mapview 上描绘轨迹线条,将GPS经纬点按先后顺序一个个的连接起来,绘制在地图上,同时算出轨迹的长度。并且在对地图进行操作的时候,轨迹同样会跟随地图的缩放和移动而缩放移动。5 系统展示5.1 进入系统点击软件图标,进入系统,第一屏是欢迎界面:图5.1 进入系统界面欢迎界面会持续2秒,或者在用户主动触摸屏幕,会直接进入系统。5.2 进入主界面,新建轨迹并记录“开始记录”按钮 “暂停记录” “停止记录” 停止位置刷新,并保存轨迹。记录的轨迹图5.2 开始记录操作步骤:1. 点击“开始记录”按钮, 系统会自动建立轨迹文件,调用GPS开始记录经纬点的变化,这时候旅行开始了。2. 软件可以后台,在后台继续记录轨迹,直到手动停止,推出3. 点击“停止并保存”按钮,系统自动保存刚才的轨迹文件,轨迹的文件命名为“年-月-日-开始时间”,并计算出轨迹的距离5.3 轨迹重现对轨迹进行操作:包括“载入到地图”,“删除”,“重命名”已保存的轨迹列表“轨迹”按钮图5.3 导入轨迹操作步骤:1. 点击“轨迹”按钮,切换到图 “我的轨迹”界面,可以看到已经记录好的轨迹。每条轨迹都包含轨迹的“名称”、“记录时间”、“轨迹路程”。2. 点击需要重现的“轨迹”记录,系统会返回到地图界面,就可以在地图中看到已经重现的轨迹,同时在对地图进行移动,缩放,也不会影响到轨迹的位置。3. 按“轨迹”记录后的按钮可以弹出菜单,可以对轨迹重命名和删除轨迹。结论 这次的课题之所以选择Android,是因为它的强大,它的流行,以及它的开源性,也是我第一次接触Android,发现了它的魅力所在,各种各样的功能,部件,都能通过程序来控制,是件很开心的事情。 基于Android的GPS 轨迹重现,是利用了Android中Google 推出的Google API 来完成的,通过Google Map 的强大接口,省去了GPS开发中的大量工程,从地图的控制,定位的实现,记录轨迹,到最后的完成轨迹重现,通过反复的测试表面,系统能够稳定的运行。达到预期的记录水平。参考文献1 汪永松.Android平台开发之旅M.北京:机械工业出版社,2010.7.2百度百科.GPSDB/OL. /view/628443.htm.2012.5.3百度文库.Google Map API 开发快速入门DB/OL./view/704d821ea76e58fafab003b0.html.2011.4 百度百科.SQLiteDB/OL. /view/1447600.htm#2.2011.5Shari Lawrence Pfleeger,Joanne M.Atlee.Software Eng
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 创意桌子设计方案
- 入院接待流程标准化管理
- 诉讼流程核心环节解析
- 搭建线上教育平台整体方案
- 禁毒防范教育
- 2025年城市更新背景下安装工程改造
- 应届毕业解约协议书
- 租用合同取消协议范本
- 租赁合同协议书样本
- 租赁车辆购买协议书
- 2026年交管12123驾照学法减分完整版通关练习题及参考答案详解(模拟题)
- 2025年成都铁路笔试题库及答案
- 甘肃省公安交警辅警考试题库
- 工会财务会计制度规范
- (2026版)贪污贿赂司法解释(二)培训纲要课件
- 2026年消防汽车驾驶员(高级工)技能鉴定考试题库(新版)
- 温州市2026事业单位联考-综合应用能力A类综合管理模拟卷(含答案)
- 2026年湖南省新高考教学教研联盟(长郡二十校联盟)高三语文4月第二次联考(含参考答案)
- 2026年三年级道德与法治下册全册期末考试知识点材料
- 2026中信证券分支机构校园招聘笔试历年难易错考点试卷带答案解析
- 2025版建筑工程建筑面积计算规范
评论
0/150
提交评论