android个人移动地图毕业设计.docx
《android个人移动地图毕业设计.docx》由会员分享,可在线阅读,更多相关《android个人移动地图毕业设计.docx(16页珍藏版)》请在冰豆网上搜索。
android个人移动地图毕业设计
2012~2013学年第二学期
毕业设计(论文)
课题基于Android的个人移动地图
姓名
系部电子信息工程系专业计算机应用
班级10计算机应用
(1)学号
指导教师老师
武汉交通职业学院教务处制
摘要
当今社会,手机已经成为人们工作生活中必不可少的一项通讯和娱乐工具。
随着3G时代的到来,手机的各种高层服务和应用层出不穷。
其中,手机地图服务,是一项新兴且有广阔市场和应用价值的业务,尤其是基于位置的网络地图服务近年来备受人们关注,它利用移动终端的定位技术,通过移动通信网络与手机地图应用服务器之间的互联通信,提供给客户各种与位置相关的信息服务,方便了用户的出行。
因此,移动终端的应用软件和需要的服务将会有很大的发展空间。
移动通信网络和硬件设备的迅猛发展使得手机的功能越来越强大,丰富多彩的手机应用逐渐走入人们的生活,位置服务和地图应用是发展最为迅速、具有潜在需求的领域,智能手机操作系统随之应运而生。
而智能手机操作系统也是百花齐放,这其中又以android智能操作系统应用最为广泛。
Android是Google公司开发的基于Linux的开源手机平台,基于Android的个人移动地图是一个综合运用androidActivity、Intent、GOOGLEMAP等组件、SQLite数据库的存储和访问等知识的应用程序,该应用程序通过GPS获得个人地理位置信息,记录用户的移动轨迹,并随时显示在GoogleMAP地图上并标记位置,并把移动位置信息保存到系统SQLite数据库中,以及移动位置数据的导入和导出功能。
关键词:
手机地图,android系统,位置服务,GoogleMap
目录
摘要
第一章绪论
1.1研究背景及意义1
1.2国内Android发展现状1
1.3文章结构安排2
第二章Android概述
2.1Android平台简介3
2.2Android平台的体系架构4
2.3Android应用程序构成5
2.4Android应用程序的开发环境5
第三章系统总体设计
3.1应用需求分析6
3.2程序界面设计6
3.3系统功能模块设计..............................................................................6
4.4数据库设计..........................................................................................7
第四章个人移动地图的实现
4.1主界面的实现8
4.2新建追踪界面的实现9
4.3继续跟踪界面的实现..........................................................................9
4.4个人设置界面的实现.........................................................................10
4.5帮助信息界面的实现.........................................................................10
4.6地图定位功能的实现.........................................................................11
总结…………..…………………………………………………………12
致谢……………………………………………………………………13
参考文献………………………………………………………………14
第一章绪论
本章主要介绍了课题的研究背景及意义、Andriod系统的分析以及国内外android个人移动地图的发展状况。
本章还描述了论文的结构安排。
1.1研究背景及意义
当今世界,手机已经成为人们日常生活中必不可少的工具,而且它所提供的功能也越来越丰富、越来越强大,根据工信部的统计,在中国的网民里已经有三分之二的网民通过手机上网,我国成为全球第一大移动互联网市场,智能手机作为一种方便携带的工具,这意味着他将成为普通民众获取各种所需信息的移动设备,因此基于智能手机的高层应用服务开发会有广阔的市场和发展空间。
正是基于这样的预见,Google公司在2007年推出了android智能操作系统。
经过几年的发展,android已经成为全球应用最为广泛的智能手机操作系统。
随着计算机和定位技术的飞速发展全球定位系统(GPS)和地图服务得到了更广泛的重视和应用,将地图有效地与位置定位技术相结合应用前景十分广阔。
据统计,人们的日常生活中,有80%的信息是与位置相关的,然而为了寻找某个地点,人们常常需要耗费大量的精力,所以伴随着现代生活节奏的不断加快,实时的地理位置信息正在成为人们最渴求的信息之一。
目前的地图服务主要是以单机或者Web的方式实现,不适合身处外地的用户使用,给用户的出行带来了不便。
而手机地图服务的便携性和数据的实时性很好的解决了这一问题。
因此,设计手机地图服务的应用具有非常实用的价值,而手机移动地图定位应用作为一种地理空间系统所提供的信息服务正好可以满足人们的需求,在GoogleMaps应用服务中,移动定位跟踪可以实时定位用户当前的位置并能把相关详细的位置信息显示在手机地图中,同时其还提供了绘制并呈现用户在某一时段内行走轨迹的功能。
Android系统作为一个优秀的开放的开发平台,开发Web的应用程序非常方便,而且有Google强大的地图服务作支撑,开发起来会比较容易。
1.2国内Android发展现状
目前国内的Android开发还是主要以应用开发为主,主要分成3类:
为企业开发应用、开发通用应用(放到AndroidMarket或者其他AppMarket销售)以及游戏开发(放到AndroidMarket或者其他AppMarket销售)。
第一类开发者一般身处规模较大的公司,这些公司主要为自有品牌或者其他品牌设计手机或者平板电脑的总体方案。
除了根据需求对系统进行定制外,更多的工作在于为这些系统编写定制的应用。
第二类开发者,一般处于创业型公司或者是独立开发者,他们的盈利方式主要是2种:
为国外公司进行外包开发,或者通过Google的移动广告(AdMob)通过广告点击分成。
而理论上的通过付费下载的形式来盈利的,现在国内鲜见成功者。
第三类开发者,目前和第二类开发者类似。
1.3文章结构安排
第一章:
分析了android应用的背景以及国内android市场的发展现状,并描述了本文的结构安排。
第二章:
介绍android系统,分析android系统的组成结构以及android系统的优点。
第三章:
分析了系统的总体设计,首先分析了功能需求,根据个人需求来设计程序的界面,数据库的设计等等。
第四章:
根据系统设计,来完成开发工作。
第五章:
主要是针对这次程序的个人总结。
第二章Android概述
Android,中文称安卓,是一个以Linux为基础的半开放原始码作业系统,主要用于移动设备,由Google成立的OpenHandsetAlliance(OHA,开放手持设备联盟)持续领导与开发中。
Android系统最初由安迪·鲁宾(AndyRubin)开发制作,并于2005年8月被Google收购。
2007年11月,Google与84家硬件制造商、软件开发商及电信营运商成立OHA来共同研发改良Android系统。
随后,Google以Apache免费开源许可证的授权方式,发布了Android的源代码。
让生产商推出搭载Android的智能手机,Android作业系统后来更逐渐拓展到平板电脑及其他领域上。
2.1Android平台优点
开放性
在优势方面,Android平台首先就是其开发性,开发的平台允许任何移动终端厂商加入到Android联盟中来。
显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。
开发性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。
开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。
不受束缚
在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。
自从2007年iPhone上市后,用户可以更加方便地连接网络,运营商的制约减少。
随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。
丰富的硬件
这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。
功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容,如同从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。
方便开发
Android平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,可想而知,会有多少新颖别致的软件会诞生。
但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android难题之一。
Google应用
在互联网的Google已经走过10年度历史,从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。
2.2平台的体系架构
Android的系统架构和其操作系统一样,采用了分层的架构。
从架构图看,Android分为四个层,从高层到低层应用程序、应用程序框架层、系统运行库层和Linux内核层。
图2-1android体系架构图
应用程序层:
提供一些核心应用程序。
应用层序框架层:
提供了Android平台基本的管理功能和组件重用机制。
系统运行库层:
由函数和Android运行时构成,通过Android应用程序框架为开发者提供服务。
Linux内核层:
提供由操作系统内核管理的底层基础功能。
2.3Android应用程序构成
Android应用程序主要由四块构成,分别是:
活动(Activity):
用于表现功能。
服务(Service):
后台运行服务,不提供界面呈现。
广播接收器(BroadcastReceiver):
用于接收广播。
内容提供商(ContentProvider):
支持在多个应用中存储和读取数据,相当于数据库。
2.4Android应用程序开发环境
安装Android应用程序开发环境,首先需要安装支持Java程序运行的Java开发工具包(JavaDevelopmentKit,JDK),然后安装集成开发环境Eclipse,最后安装AndroidSDK和Eclipse的ADT插件。
(1)安装JDK,在Oracle的官方网站
(2)安装Eclipse,在
(3)安装AndroidSDK,首先从网站SDK,下载完成后进行解压,将解压后文件下的tools目录的绝对路径添加到系统中,就可以直接使用AndroidSDK了。
(4)安装ADT:
安装ADT可以选择手动和自动安装,下面介绍下自动安装方法,将下载地址添加到如下图所示的位置,就可以自动下载并安装。
图2-2自动下载ADT插件
第三章系统总体设计
3.1应用需求分析
本文将实现一个个人移动地图应用程序,该应用程序实现的主要功能是:
记录用户的移动轨迹,并随时显示在GoogleMap上。
利用android的界面控件设计用户界面,利用MapView组件显示并记录位置信息,设计后台Service服务定时读取用户位置信息,设计数据库,把移动轨迹信息保存到SQLite数据库中。
程序大概的实现思路是:
基于Android的个人移动地图应用程序运行后,在其主界面首先选择创建新的移动轨迹,然后后台启动一个Service定时读取GPS数据获得用户目前所在的位置信息,将其存入数据库中;用户可以选择以往的移动轨迹记录导入,将其轨迹显示在GoogleMap上,由此可以记录用户过去的位置。
该应用程序是基于位置服务(LBS)来实现的。
位置服务,又称定位服务或基于位置的服务,融合了GPS定位、移动通信、导航等多种技术,提供与空间位置相关的综合应用服务。
3.2程序界面设计
程序的主界面主要用来显示最近10次的追踪记录,在主界面上需要添加一个列表控件(ListView),另外在程序主界面还需要添加几个菜单,用来分别显示“新建跟踪”,“继续跟踪”,“个人设置”,“帮助信息”,“退出”。
(1)“新建跟踪”菜单:
当点击新建跟踪菜单之后,程序将跳转到新建跟踪界面,输入要跟踪的名字和描述之后,程序将开始启动跟踪服务。
(2)“继续跟踪”菜单:
在继续跟踪界面,用户可以查询前10次的跟踪记录,用户可以任选一个记录进行继续跟踪。
(3)“个人设置”菜单:
在个人设置界面,用户可以对GPS更新频率和地图默认等级进行设置。
(4)“帮助信息”菜单:
帮助信息界面,会将程序的帮助信息显示出来,主要有程序的功能、版本等等。
(5)“退出”菜单:
点击退出按钮,将会退出程序。
3.3系统功能模块设计
应用程序主要分为四个模块:
新建跟踪模块、继续跟踪模块、个人设置模块和帮助信息模块,这四个模块与程序的主要界面相互对应。
新建跟踪模块:
负责建立一次新的路径记录追踪,并将之前的追踪记录进行存储。
继续跟踪模块:
用户通过该模块可以查询到前面的用户移动记录,然后选择一个记录后继续跟踪。
个人设置模块:
负责GPS传感器接收数据时的更新频率和打开地图是的默认地图等级。
帮助信息模块:
主要用来向用户显示程序的使用帮助和信息等。
程序的系统模块如下图所示。
3.4数据库设计
在本程序中,数据主要由数据库和SharePreference存储。
所需要的数据及表结构如下图所示。
Tracks表的结构描述
属性
类型
含义
备注
id
INTEGER
主键ID
name
text
名字
desc
text
描述
描述文字
distance
long
距离
起点到终点的距离
Tracked_time
Long
已经跟踪的时间
locats_count
INTEGER
跟踪点数
created_at
INTEGER
创建时间
updated_at
INTEGER
更新时间
avg_speed
long
平均速度
max_speed
long
最大速度
Locats表的结构描述
属性
数据类型
含义
备注
id
INTEGER
主键
track_id
INTEGER
跟踪ID
外键
longitude
text
维度
latitude
TEXT
经度
altitude
text
偏差
created_at
INTEGER
创建时间
第四章个人移动地图应用的实现
4.1主界面的设计
在main.xml文件中,使用了LinearLayout来布局,放置了一个TextView控件和一个ListView控件,分别用来显示最近记录和最近跟踪的列表。
系统会调用OnCreate()方法来实现布局的加载,然后程序从OnCreate()将以往的跟踪记录从数据库中查出,显示在列表中。
主界面上还有“新建跟踪”、“继续跟踪”、“个人设置”、“帮助信息”、“退出”五个按钮,这几个按钮的实现,主要是调用onOptionItemSclected()方法,当需要那个Activity时,机会通过该方法转到相应的页面。
程序运行起来之后,点击下面的“MENU”按钮,就会在主界面上显示操作按钮,下面是程序运行的主界面。
图4-1主界面
4.2新建追踪界面的实现
当选择主界面菜单选择“新建跟踪”时,“新建跟踪”所对应的Activity将会执行,当打开这个页面后,在上面输入追踪的名字和描述后,将会创建一个新的追踪。
该界面的实现调用OnCreate()方法,在该方法中先调用setCountView()来设定其对应的布局模板,在调用setTitle()设定标题,调用findViews获取模板中的视图控件,并使setListeneres()对其中的按钮设置监听。
程序的界面如下。
图4-2新建追踪界面
4.3继续跟踪界面的实现
当选择主界面菜单选择“继续跟踪”时,“继续跟踪”所对应的Activity将会执行,当打开这个页面后,程序会显示最近的路径记录,用户从中选择一条记录后,就会从上一次的记录继续追踪用户的路径。
该界面的实现调用OnCreate()方法,运行代码如下:
mDbHelper=newTrackDbAdapter();
mDbHelper.open();
render_tracks();
4.4个人设置界面的实现
当选择主界面菜单选择“个人设置”时,“个人设置”所对应的Activity将会执行,当打开这个页面后,代码将会转向个人设置的Activity,在该Activity中将会允许用户设置一些应用信息,如GPS更新频率、默认地图等级等等。
该类数据配置不会很多,但系统每次启动都会运行,因此采用SharePreference来存储。
该界面的实现调用OnCreate()方法,在该方法中先调用setCountView()来设定其对应的布局模板,在调用setTitle()设定标题,调用findViews获取模板中的视图控件,并使setListeneres()对其中的按钮设置监听,最后调用restorePrefs()将默认值和用户以前的值显示出来。
个人设置所涉及的数据量较少,只需要记录GPS的频率和默认地图等级,因此在实现该功能时使用SharePreference来进行数据的记录。
程序界面如下。
图4-3个人设置界面
4.5帮助信息界面的实现
当选择主界面菜单选择“帮助信息”时,“帮助信息”所对应的Activity将会执行,当打开这个页面后,代码将会转向帮助信息的Activity,帮助信息界面比较简单,程序调用OnCreate()方法来绑定helps.xml配置文件。
程序运行界面如下。
图4-4帮助信息界面
4.6地图定位功能的实现
借助于GoogleMap,在Android中开发地图应用是非常简单的,只需要知道经纬度就可以定位到相应的地点,下面是程序运行的效果图。
图4-5地图定位界面
总结
经过两个星期的努力,Android个人移动地图终于完成了。
一开始对于如何写出这个项目并没有什么头绪,到最后一直不断摸索着完成了这个软件。
在这个过程中,我学会了很多知识,Google地图的应用、SQLite等等,但我学会的最重要的一点是,利用现有的资源去解决问题,在图书馆、网络上寻找答案。
虽然,这个软件完成了,但是我认为还有很多地方做的不好,在整个工程的构思方面也不足,用户操作界面还不够灵活,这些问题还需要今后逐一解决。
总之,通过该项目的实战演练让我受益匪浅,对我以后在软件开发行业中的发展有很大的帮助。
同时也让我更有信心在软件行业中走下去!
致谢
值此论文完成之际,在这里我感谢我的指导老师、帮助我的同学,他们鼓励我去勇于创新,去进行严格的技术研究,让我完成了这篇论文。
感谢电子信息工程系的领导和老师们,不论是在生活、学习上,还是在工程实践、论文写作等方面,都得到学院领导和老师们的极大关心和支持。
很幸运,我在大学最后的一次作业中,能得到黄玮老师的指导与帮助,皇位老师严谨治学的态度,在我的心里留下深刻的影响,在以后的日子里,我要学习黄玮老师的求实精神。
在这里,真诚地向老师说一句:
您辛苦了。
最后,我想感谢与我共同走过大学的朋友们,感谢你们给我的帮助,能有机会出现在彼此的生命力,并一起走过几个春夏秋冬,我很高兴,希望你们在以后的日子开心、快乐。
衷心感谢!
衷心感谢我的家人和朋友给予我的关心、爱护、支持与帮助。
感谢各位专家和评委耐心审阅我的论文并提出宝贵意见。
参考文献
[1]王向辉.Android应用程序开发.北京:
清华大学出版社,2012.5
[2]彭璇,吴肖.GoogleMapAPI在网络地图服务中的应用.测绘信息与工程,2010.1
[3]张仕成.基于GoogleAndroid平台的应用程序开发与研究[J].电脑知识与技术,2009
[4]赵亮张维.基于Google界面的设计与研究[J].计算机与现代化,2009(29)
[5]差沙,地狱男爵.用Android开发手机应用[J].程序员,2008
(1)
[6]赵情融.基于Android平台的个人移动地图应用.华中科技大学,2011
[7]岳传真.Android系统移植和应用程序开发.复旦大学.2010
[8]刘正,陈强.基于Android的GPS应用中的研究与开发.中国西部科技.2010(32)
[9]公磊,周聪.基于Android的移动终端应用程序开发与研究.计算机与现代化.2008(80):
85-59
[10]
[11]隆志坚.Android平台基于GoogleMapApi的导航应用技术研究与实现.办公自动化.2011
[12]马越.Android的架构与应用.中国地质大学.2008
[13]李惠,丁革建.智能手机操作系统概述.电脑与电信.2009
[14]和凌志,郭世平.手机软件平台架构解析.北京.电子工业出版社.2009
[15]周绪宏,梁阿磊,戚正伟.基于嵌入式Linux的智能手机系统软件的设计与实现.计算机应用与软件.2008(3):
59-61.
指导教师意见
指导教师(签名及时间):
答辩意见
答辩小组组长(签名及时间):
成绩评定
毕业设计(论文)成绩
答辩成绩
总评成绩