基于百度地图开发的地图信息系统

  • 格式:doc
  • 大小:1.19 MB
  • 文档页数:50

Android程序设计大作业

基于百度地图开发的地图信息系统

学院名称: 计算机科学与信息工程学院

课程名称: Android程序设计

设计题目: 地图信息系统

目 录

第1章 绪 论 ......................................................... 1

1.1 课题研究的背景和目的 ........................................... 1

1.2 国内外研究现状 ................................................. 2

第2章 课题设计相关技术概述 ....................................... 3

2.1 开发语言 ....................................................... 3

2.2 Android的架构 .................................................. 3

2.3 Android SDK .................................................... 4

第3章 软件需求分析 ................................................ 6

3.1 需求分析 ....................................................... 6

3.2 地图运行功能架构 ............................................... 6

第4章 百度Key申请 ................................................ 8

4.1 申请百度密钥 ................................................... 8

4.2 配置百度地图SDK工程环境 ...................................... 10

4.3 添加Key密钥 .................................................. 11

第5章 系统设计 .................................................... 12

5.1 系统功能结构 .................................................. 12

5.2 声明软件应用权限 .............................................. 12

5.3 基本配置 ...................................................... 14

第6章 系统实现 .................................................... 38

6.1 系统运行环境和开发平台 ........................................ 38

6.2 视图界面 ...................................................... 39

6.2.1 普通地图界面 .............................................. 40

6.2.2 卫星地图界面 .............................................. 41

第7章 系统测试 .................................................... 42

7.1 预期测试结果 .................................................. 43

7.2 实际测试结果 .................................................. 44

结 论 ............................................................... 45

参考文献 ............................................................ 46

I 摘 要

本设计是一款适用于Android系统移动地图应用,其中调用的是百度地图Android SDK是一套基于Android2.1及以上版本的移动设备应用接口。

在手机地图领域做得最好的就当数谷歌地图和百度地图了,并且这两种地图都提供了丰富的API,使得任何开发者都可以轻松地将地图功能引入到自己的应用程序当中。通过调用地图SDK接口可以轻松访问在手机上访问百度地图服务和数据,可以构建功能丰富、并且交互性强的手机移动地图应用程序。UI设计方面借鉴了百度简约的设计风格,简单明了又不失独特。

Java开发语言和最新的Android Studio开发软件为本应用提供了稳定的开发环境及开发平台,通过设计本应用可以提供地图展示、地图定位和地图操作功能

关键词:地图导航;百度地图;Java;Android SDK

1 第1章 绪 论

1.1 课题研究的背景和目的

移动互联时代早就已经来临了,说明新的时代新的技术已经越来越成熟。当移动通信和互联网结合在一起之后就形成了我们常说的移动互联网,我们的手机和笔记本电脑以及其他的移动设备可以随时随地的访问互联网的任何资源以及需要查找的手机应用软件。

在这个网络技术日新月异的促进下,我国在通信技术领域早已经进入了第四代,即4G时代的出现,让我们可以享受到更加快速的网络传输速度和更智能的手机移动设备。现如今手机成为了我们日常生活中必不可少的一道甜点。随着现在科技的进步人们的生活水平在不断提升,人们已经不用思考柴米油盐和温饱问题而开始热衷于如何提升生活的质量,所以普通只可以打电话发短信的手机已经无法满足人们的需要了。于是产生了智能手机。通过相关调查研究表明人们对于智能手机的使用率已经达到了90%以上,智能手机也被开发者设计得越来越人性化,人们可以通过手机将完成越来越人性化的功能,可以说智能手机已经成为了人们生活的一部分。

随着越来越多的人通过android来解决问题,现在和地图相关的APP在手机上的应用已经可以算是非常广泛了,和传统电脑PC端的地图软件相比之下手机地图APP可以具备随时随地查看并且可以非常轻松的规划出出行路线并且还能够进行导航,方便度有了明显的差距。所以我们可以开发出一款手机移动端地图来方便人们的生活。

1.2 国内外研究现状

2 手机以及一些其他的移动设备为人们带来了越来越多越来越方便的生活,不断出现的手机地图系统的相关软件为在外出行的人提供了途径,节约了时间也极大地提高了效率。所以和手机地图相关的研究在学术研究中开始慢慢显现出来了,其中就包括了市场数据研究和应用数据研究。根据报告,2018年中国IT研究中心的相关研究对目前市场上份额排名前几位的地图软件展开了调查,通过调查对前几位的软件进行了排名,根据结果显示,目前百度手机地图排名第一,市场份额65.5%,由此可见更多人愿意使用百度地图来,高德地图排名第二,市场份额20.1%,搜狗地图排名第三,市场份额8.4%。

手机地图作为移动互联网的重要入口之一,各互联网巨头纷纷加大资源投入力度,展开对手机地图市场的争夺。2014年高德地图经历了换帅,宣布发力LBS,专注位置解决方案,打出“你敢用就敢赔”的活动;百度地图则展开国际化战略,新提供境外地图数据,与相关地图合作开放全球定位能力;搜狗地图成为苹果官方Apple Watch首批邀请入驻的应用。在此背景下,从2018年第1季度中国手机地图主要APP的累积用户数、活跃用户数、用户关注度、用户日均定位请求数等相关指标说明现在的中国手机地图的市场情况。

CNIT分析认为,手机地图市场集中度高。百度地图、高德地图和搜狗地图位列三甲,份额超90%,这和手机地图产品特性有关,需相应的资质才能运营,且还需实时更新相关数据,构成一定的技术门槛。

比达(BigData)数据显示,在2018年Q1中国手机地图活跃用户市场份额中,百度地图67.9%最高,高德地图19.7%居第二,搜狗地图8.5%位第三,另外,腾讯地图、谷歌地图2.4%。因此以百度地图SDK作为载体根据百度API提供的文档来进行开发不仅和获得更加全面的数据而且性能无疑是最佳的。

3 第2章 课题设计相关技术概述

2.1 开发语言

Java语言作为目前使用排行第一的编程语言不仅具有C++面向对象的特点,还根据“低耦合,高内聚”[2]的手机应用程序设计特点摒弃了C++里面难以理解的指针和多继承的特点。因此Java语言就同时具有了功能强大和简单易用的特点,所以被很多开发人员采用。Java语言又是一种动态的编程语言,安全性高、分布式使用非常广泛而且可跨平台移植,现在的很多软件都是用Java语言来进行开发编写的,手机、个人笔记本、平板电脑等终端设备上面的很多软件都是通过Java语言的可移植跨平台的特性才能使用的只需要安Java开发环境[3]即可。Java程序具有与体系结构无关的特性,可以方便地移植到网络上的不同计算机当中。编程语言排行榜如图2-1所示:

图2-1编程语言排行榜

2.2 Android的架构

Android操作系统应用程序框架[4]支持组件的重用与替换。这在之前的手机操作系统中是难以想象的。这意味着我们可以吧系统中不喜欢的应用程序替换掉,安装我们自己喜欢的应用程序。因为系统架构主观上可分为四层架构,由下而上依次为应用层、应用框架层、系统运行库层、Linux内核层。

1.Linux内核层

Android系统的核心服务是基于Linux2.6内核的,这一层主要功能是让开发者

4 编写底层程序从而为Android手机以及基于Android的设备的各种硬件设施提供底层驱动,比如为蓝牙相机、无线网络(WIFI)、电源设备、音频、显示器等进行驱动。

2.系统运行库层

这一层主要是为Android系统提供各种特性支持,比如数据库可以直接通过SQLite库来提供(也可以使用外部数据库如:MySQL),3D绘图支持可以通过OpenGL/ES库提供,浏览器内核可以通过Webkit库来提供等。

同样还有一个运行时库,它包含一个核心库,可以让开发者运用Java语言来编写Android应用。另外Android的运行都是可以通过Dalvik虚拟机来进行,且都是独立运行进程。另外也可以通过真机来运行。总的来说相对于Java虚拟机来说,Dalvik针对于移动设备并且完全模拟手机还能够针对手机内存以及CPU来进行优化处理。