基于Android的在线地图的轨迹跟踪服务的设计与实现论文.docx
《基于Android的在线地图的轨迹跟踪服务的设计与实现论文.docx》由会员分享,可在线阅读,更多相关《基于Android的在线地图的轨迹跟踪服务的设计与实现论文.docx(68页珍藏版)》请在冰豆网上搜索。
基于Android的在线地图的轨迹跟踪服务的设计与实现论文
职场大变样社区():
下载毕业设计成品
全套资料,全部50元以下
毕业设计(论文)
论文题目
基于Android的在线地图轨迹跟踪服务的设计与实现
thesisTopic
DesignandimplementationofonlinemaptrackingservicebasedonAndroid
2016年5月26日
编号:
__________
毕业设计(论文)答辩许可证
学院系专业学生所编写的毕业设计(论文)页,字数,符合毕业设计(论文)大纲的要求。
经审查:
该生已学完教学计划规定的全部课程,成绩合格,毕业设计电子文档最后一稿已交,准予参加毕业设计(论文)答辩。
相关材料
材料名称
数量
毕业设计(论文)
1册
毕业论文缩写
1册
答辩汇报稿
1份
毕业设计(论文)电子版(最后一稿磁盘文件)
1套
指导教师:
(签名)
院长(系主任):
(签名)
年月日
毕业设计(论文)任务书
第1页
毕业设计(论文)题目:
基于android的在线地图的轨迹跟踪服务的设计与实现
毕业设计(论文)要求及原始数据(资料):
1.综述当前Android中GPS技术研究现状和研究意义;
2.深入了解Android和XXMapAPIs等相关技术;
3.熟练掌握XXAPI中提供的方法,训练编写插件程序的能力;
4.设计并实现Android在线地图轨迹的跟踪服务;
5.深入分析在线地图轨迹跟踪的关键技术与编写语言;
6.训练检索文献资料和利用文献资料的能力;
7.训练撰写技术文档与学位论文的能力。
第2页
毕业设计(论文)主要内容:
1.综述当前在线地图服务在Adroid中的应用;
2.了解Adroid在线地图轨迹跟踪的相关技术;
3.熟悉Adroid在线地图轨迹跟踪的开发环境;
4.设计应用软件中的主要模块;
5.深入分析Adroid在线地图轨迹跟踪的关键技术;
6.熟练掌握基于Adroid的在线地图轨迹跟踪软件的编写;
7.设计与实现Adroid在线地图轨迹跟踪服务的程序。
学生应交出的设计文件(论文):
1.内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;
2.包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。
第3页
主要参考文献(资料):
[1]汪永松.Android平台开发之旅[M].北京:
机械工业出版社,2010.7.
[2]杨丰盛.Android应用开发揭秘[M].北京:
机械工业出版社,2010.1.
[3]李申申.基于轻量级架构的简牍图像信息系统[D].四川:
成都理工大学,2006.
[4]卢翰,王国辉. JSP项目开发案例全程实录(第2版)[M]. 北京:
清华大学出版社,2011.
[5]张孝祥,徐明华. JSP基础与案例开发详解[M], 北京:
清华大学出版社,2009.
[6]刘建伟,毛剑,胡荣磊. 网络安全概论[M].北京:
电子工业出版社,2009.
[7]李刚.疯狂Android讲义[M].北京:
电子工业出版社,2011.7.
[8]BruceBckel.ThinkinginJava[M].PrenticeHall.1999.
[9]RickRogers,JohnLombaarda,MeikeBlake.AndroidApplicationDevelopment[D].ShroffPublishers&DistributorsPvtLtd.2010.
[10]MarkL,Murphy.TheBusyCoder’GuidetoAndroidDevelopment.ConnnoswareLLC,2008.
专业班级
学生
要求设计(论文)工作起止日期
指导教师签字
日期
教研室主任审查签字
日期
系主任批准签字
日期
基于Android的在线地图轨迹跟踪服务的设计与实现
摘要
在信息高速流动的现代社会,移动设备凭借其便于携带和随时随地收发信息的优点,成为了大多数人生活中必要的娱乐和通讯工具。
而在手机移动网络所提供的大量服务中,基于在线地图的地位服务已经成为了一项实用的新型业务。
它可以通过移动端的定位技术,提供给用户和位置相关的信息,满足不同用户的需求。
本文深入分析了目前智能手机的主流操作系统——安卓平台的优势与体系框架,详细介绍了安卓应用程序开发设计的关键技术以及应用程序的开发流程。
然后,通过对手机网络地图现状的分析,结合了XX地图与其API库设计出一个基于Android的在线地图轨迹跟踪服务。
该系统在实现在线地图一般功能的基础上,可以根据用户定位信息实时监测和记录用户移动路线,随时显示在手机的在线地图上面,并且可以查询到历史轨迹的记录。
本文所设计的轨迹跟踪由于数据量较小,所以采用了SQLite数据库来存储轨迹记录和注册用户的个人信息。
本文最后在设计基础上一步一步实现了系统的各个功能,通过多次真机测试,已经初步达到了设计目标。
该系统在旅行、运动等方面都有着一定的价值。
关键词:
安卓平台;在线地图;GPS;运动轨迹
DesignandimplementationofonlinemaptrackingservicebasedonAndroid
Abstract
Inmodernsociety,withthehighspeedofinformationflow,mobiledeviceshavebecomethenecessaryentertainmentandcommunicationtoolsinmostpeople'slifebecauseoftheiradvantagesofconvenientcarryingandtransmittingandreceivinginformationatanytimeandatanytime.However,inalargenumberofservicesprovidedbymobilephone,onlinemapservicebasedonlocationhasbecomeanewbusiness.Itcanprovideuserswithlocationrelatedinformationthroughthemobileterminallocationtechnologytomeettheneedsofdifferentusers.
Thisin-depthanalysisofthecurrentsmartphonesmainstreamoperatingsystem,Androidplatformadvantagesandsystemframework,Androidapplicationdevelopmentanddesignofthekeytechnologyandapplicationdevelopmentprocessareintroducedindetail.Then,throughtheanalysisofthecurrentsituationofthemobilephonenetworkmap,combinedwiththeBaidumapanditsAPIlibrarytodesignaAndroidbasedonlinemaptrackingservice.Thesystemintheimplementationofonlinemapgeneralfunctionbased,canaccordingtotheuser'spositioninformationreal-timemonitoringandrecordingusermobileroute,atanytimetodisplayonthemobilephoneonlinemap,andcanquerythehistoricaltrackrecord.Inthispaper,thedesignofthetrajectorytrackingduetothesmallamountofdata,sotheuseoftheSQLitedatabasetostorethetrackrecordandregistertheuser'spersonalinformation.
Finallyonthefoundationdesignstepbysteprealizedeachfunctionofthesystem,throughseveralrealtest,andhasbasicallyreachedthedesigntarget.Thesystemhasacertainvalueintravel,sportsandsoon.
Keywords:
smartphone;onlinemap;GPS;motiontrajectory
1在线地图轨迹APP概述
1.1本论文的背景及意义
据《2013-2014年中国手机/智能手机市场研究年度总报告》预测,2015年全世界智能手机用户比例第一次超过世界人口的十分之一,到2018年,世界上三分之一的消费者将成为智能手机用户,总数超过25.6亿人。
其中安卓智能手机占了绝大多数。
而在中国,中国城市智能手机的普及率很大的提高,从2012年的33%上升至47%,近一半的中国城市居民已经拥有智能手机。
其中,69%的用户每天都会使用智能手机访问互联网,这个比例要高于美国的智能手机用户。
在当前高智能机普及率的背景下,所有人出门几乎都会使用到智能手机的地图。
一款方便快捷的记录轨迹的app,可以方便地记录人们出现的运动轨迹。
让人们掌握有用的信息。
1.2本论文的主要方法和研究进展
本论文通过前期的查阅资料与调查学习,通过查阅资料,分析数据,掌握如今人们使用智能手机的情况和使用地图软件进行导航和其他功能的情况。
通过学习使用XX地图的开发接口和安卓的开发知识来为中期开发软件编码做好准备。
通过几个月的研究和学习,目前项目已经完成了编码阶段,接下来将对项目进行测试和完善项目。
1.3本论文的主要内容
主要内容为记录轨迹App开发的整个周期过程,其中包括对前期用户数据统计分析,对系统进行详细的分析,包括功能可行性,实现可行性等。
介绍系统开发的环境以及相关的技术;系统的设计,包括UI设计,数据库设计程序模块设计;程序开发的过程以及系统测试。
1.4本论文的结构安排
本论文第一部分是封面,里面包括本人的个人信息。
第二部分是摘要,有中文版和英文。
第三部分是目录。
第四部分则是根据目录一一对应的内容。
第五部分是总结。
第六部分是参考文献与致谢。
2系统分析
2.1研究目标
这个系统的目标是做出一个记录人们走动轨迹的基于Android系统的平台,方便人们知道的自己的日常走动情况。
记录每次的走动的轨迹。
开发一个界面简单清晰,UI友好易懂,而且无赘余功能的运动平台。
2.2可行性分析
采用开源的免费的手机安卓系统,并且利用的也是免费的XX地图API技术来实现课题。
2.2.1经济可行性
一个免费平台的软件开发时间和成本都不是太高,而且是面向个人,不会产生企业级应用的成本预算,在开发的过程中,考虑到课题的特性,需要拥有一台可以使用GPS定位,并且是安卓系统的智能手机,本人已拥有一台可用的安卓手机,其它方面,测试,编码,并不会产生太多硬设备的费用。
2.2.2技术的可行性
本系统主要用到了目前比较流行的手机系统安卓,以及XX地图API技术,由于以前Android开发的经验比较少,相关知识掌握也不是特别多,所以需要付出一些努力去深入学习Android,不过在掌握了JAVA的基本开发的基础上,学习Android的过程中并没有遇到很大的难题,因为Google提供了在eclipse上面的ADK,一步一步的完善课题,并且参照到了XX地图API提供的详细的开发说明书,不懂一点问一点,慢慢完善课题也变得简单起来,在理论上是可行的。
2.3需求分析
问题描述:
设计一款可以应用于在线地图轨迹重现的安卓APP,在硬件上需要一台安卓系统的可以应用GPS定位的手持设备。
程序运行的时候,要求能够实时的记录运动中的GPS经纬点数据,创建数据表,并存储,然后通过调用程序中保存好的轨迹数据,通过点与点相连,连接成一条轨迹,实现轨迹的实时记录。
为了提高程序的可用性、人性化,在UI设计方面需要做的更好一些,要比类似的市场中的GPS记录程序更加的吸引用户,还需要提高软件的交互性,来留住用户。
2.4性能分析
程序安全性高、响应速度快、信息处理速度快。
没有出现卡顿或导致死机现象。
数据存储安全,由于数据流并不是很大,所以读取快,因此程序性能比较高。
3系统开发环境及相关技术介绍
3.1开发环境搭建
在windows上搭建安卓开发环境是所有Android应用程序开发的第一步,Android开发工具包括:
JDK(JAVAdevelopmentkit)、EclipseIDE(EclipseIntegratedDevelopment)、AndroidSDK(Androidsoftwaredevelopmentkit)和ADT(AndroidDevelopmentTools)。
3.1.1安装JDK
JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。
进入Oracle官方网站JDK下载页面,选择电脑系统对应版本的JAVASE(JDK)8进行下载,下载完成后运行.exe文件按提示进行安装。
最后进行环境变量配置(以本人环境配置为例):
JAVA_HOME值为:
E:
\Java\jdk1.8.0_40
CLASSPATH值为:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar,Path值:
在开始追加%JAVA_HOME%\bin;
安装成功后可在CMD窗口查看到对话框。
3.1.2安装Eclipse集成开发环境
Eclipse是基于Java的开源代码的可拓展开发平台,集成了不一样的软件工具开发商的产品,用插件方法提供给用户,所有用户能够通过一样的接口使用不同开发工具。
在Eclipse官方下载界面上选择下载EclipseIDEforJAVADevelopers,下载完成后解压即可使用。
3.1.3下载安装AndroidSDK
AndroidSDK提供了开发安卓应用程序所需的API库和构建、测试和调试安卓应用程序所需的开发工具。
在谷歌官网下载AndroidSDK后安装,在安装目录下运行SDKManager.exe,能够根据需求来下载和更新不一样版本的SDK包。
更新完成后,将包含tools的文件夹路径加入到Path的环境变量中,将Eclipse中的SDKLocation指向AndroidSDK的安装路径,到此为止完成SDK的配置。
3.1.4为Eclipse安装ADT插件
在Eclipse编译IDE环境中需安装ADT,为Android开发提供开发工具的升级和变更,方便调试Android程序。
启动Eclipse,点击Help菜单->InstallNewSoftware…,点击弹出对话框中的Add…按钮,在弹出的对话框中的Location这里输入http:
//dl-
3.1.5创建AVD模拟器
AVD是安卓运行的虚拟设备,在安卓应用程序开发过程中不可或缺。
在Eclipse的Windows菜单下选择AndroidAVDManager.在左侧面板选择VirtualDevices后点击new,设置一些自己的想要的参数,如AVD名称、屏幕大小、TargetAPI、SDK版本、SD卡大小,点击Create后完成创建。
选中创建的模拟器,点击start即可运行。
3.2相关技术
3.2.1XX地图
XX地图API是为开发者提供的一套免费的基于XX地图服务的应用接口,包括JavaScriptAPI、AndroidSDK、Web服务API、iOSSDK、定位SDK、车联网API、LBS云等多种开发工具与服务,提供基本地图展现、定位、搜索、路线规划、逆/地理编码、LBS云存储和检索等功能,可以用于PC端、服务器、移动端等多种设备上,多种操作系统下的地图应用开发。
项目使用的是AndroidSDK,项目中使用到了定位和轨迹。
所以其中包括Android定位SDK和Android。
XX地图SDK,与XX移动版地图SDK相比,是把更小的体积提供给了开发者,帮助开发者完成准确位置信息获取与应用开发的工具。
XX地图目前提供Android和Symbian版本,并且开发者是不需要申请key就可使用。
而在本项目中使用到了XX地图API的基础地图和定位功能。
其中尤为重要的功能是使用XX地图记录运动轨迹,在使用XX地图时,首先需要申请key,去XX地图API官网即可申请。
只有拿到key才能使用XX地图API的sdk,其次下载相关的SDK,在创建好项目后把SDK加到项目的libs目录下。
并按照XX地图API官网的教程配置项目。
之后才可以调用XX地图的接口。
在本项目使用到了XX地图的定位和鹰眼技术。
XX地图安卓定位SDK提供GPS,基站,Wi-Fi等好几种定位方式,可以用在室、内外多种定位场景,拥有出色的定位性能:
覆盖率广、定位精度高、网络定位请求流量小、定位速度快。
使用任何鹰眼轨迹接口前,必须先在轨迹管理台中创建鹰眼工程,获得servie_id后方可正式使用鹰眼轨迹。
一个service_id(即鹰眼轨迹工程)对应一个的轨迹管理系统,管理至多10万条轨迹。
另外还使用XX鹰眼的查询历史轨迹接口。
3.2.2Sqlite
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。
它是D.RichardHipp建立的公有领域项目。
它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。
SQLite第一个Alpha版本诞生于2000年5月。
至2015年已经有15个年头,SQLite也迎来了一个版本SQLite3已经发布。
SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。
所以主要的通信协议是在编程语言内的直接API调用。
这在消耗总量、延迟时间和整体简单性上有积极的作用。
整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。
它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。
本系统使用sqlite来用户的登录信息,包括用户名、密码。
在项目中为了提高开发效率,使用了数据库的ORM框架。
首先去ORMLite官网下载jar包,对于Android为:
ormlite-android-4.48.jar和ormlite-core-4.48.jar;把jar包拷贝到项目的libs目录下,然后新建Bean类
publicclassUser{
/**id主键,自增*/
@DatabaseField(generatedId=true)
privateintid;
/**GUID*/
@DatabaseField
privateStringGUID;
@DatabaseField
privateStringusername;
@DatabaseField
privateStringpassword;
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
}
分别在属性上添加@DatabaseField(columnName="name"),columnName的值为该字段在数据中的列名。
@DatabaseField(generatedId=true),generatedId表示id为主键且自动生成
原生的数据库操作,需要继承SQLiteOpenHelper,这里我们需要继承OrmLiteSqliteOpenHelper
publicclassOrmDatabaseHelperextendsOrmLiteSqliteOpenHelper{
/**数据库名*/
privatefinalstaticStringDB_NAME="run_info.db";
/**数据库版本*/
privatefinalstaticintDB_VERSION=1;
/**run_info表*/
privateDaoinfoDAO;
publicOrmDatabaseHelper(Contextcontext){
super(context,DB_NAME,null,DB_VERSION);
}
publicOrmDatabaseHelper(Contextcontext,StringdatabaseName,CursorFactoryfactory,intdatabaseVersion){
super(context,databaseName,factory,databaseVersion);
}
@Override
publicvoidonCreate(SQLiteDatabasearg0,ConnectionS