基于android系统的手机地图应用软件开发内容摘要:

括了核心包、开发中常用的类库(如 IO, Utility等类)、一个针对手机优化过的虚拟机。 ( 3)应用程序框架:提供了一些手机开发最基本的 API,程序员开发工作主要是基于这个框架之上的。 ( 4)应用程序:程序员开发的程序便在这个层上。 陕西科技大学毕业论文(设计说明书) 10 3 开发工具及系统环境搭建 开发工具简介 学过 Java 的人都用过 Eclipse,这是一款功能强大的软件,是一个开放源代码的、基于 Java 的可扩展开发平台。 就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。 另外, Eclipse 附带了一个标准的插件集,最新的版本还附带了 ADT 等开发工具。 Eclipse 官方下载网站是: 图 31 为其界面。 图 31 Eclipse 界面 从这张图便可以看出, Eclipse 是一款界面友好的开发软件,它强大的功能使得程序员不用花费大量时间和精力在语法上,这样有利于节约时间,提高开发效率。 因此,Eclipse 越来越受开发者的青睐。 开发环境搭建 本文的开发环境为 Windows 7,为开发安装的相关软件包括 Eclipse 最新版、 Android SDK、。 下面简要介绍环境搭建的一般步骤: ( 1) JDK 的下载: 基于 Android 系统的手机地图应用软件开发 11 官方网站 安装好 JDK 后,有一个细节需要注意,那就是环境变量的更改。 鼠标右击“我的电脑”,选择“属性”,在弹出的对话框中选择“高级系统设置”,再在弹出对话框选择“环境变量”,接下来你就可以设置相关路径了。 ( 2)安装 Eclipse。 下载完成后,一般是以压缩包的形式呈现在用户面前,只要解压缩就可以使用了。 第一次开启 Eclipse 最好设定一个统一的工作路径,这样有利于以后的开发工作。 ( 3)安装 Android SDK。 下载网址为: 要特别注意,新版的 SDK已经包括以下内容: Eclipse + ADT plugin、 Android SDK Tools、Android Platformtools、 The latest Android platform、 The latest Android system image for the emulator。 所以本文介绍的很多工具的下载和安装方法应该合理进行参考。 ( 4)安装 ADT。 ADT 是 Google 为 Android 开发者提供的一个开发 Android 应用程序的 Eclipse 插件,开发者通过 ADT 可以方便的穿件 Android 项目,创建应用程序界面,在基于 Android 框架 API 的基础上添加组件,以及用 SDK 工具调试应用程序,甚至导出签名的 APKs 以便发行应用程序。 ADT 有两种安装形式,一种是在 线安装,另一种是先下载 ADT,在来安装 ADT。 本文选择先下载 ADT 后 再 进行安装。 虚拟机简介 安卓系统虚拟设备( Android Virtual Device)简称 AVD。 是专门为安卓开发而构建的一个安卓模拟器,图 32 为其界面。 图 32 AVD 界面 陕西科技大学毕业论文(设计说明书) 12 由于最新版的 Eclipse 是自带 ADT 的,程序员的主要任务是设置虚拟机的相关参数。 在 Eclipse 中点击 Android Virtual Device Manager,在弹出的对话框中选择 New,在弹出的对话框中输入一个 AVD Name,选择 Device、 Target、 CPU/ABT 的种类, SD Card 的容量选择 250M 便足够开发使用,单击“ OK”完成创建。 每个 AVD模拟了一套虚拟设备来运行 Android 平台,这个平台至少有自己的内核,系统图像和数据分区,还可以有自己的 SD 卡和用户数据以及外观显示等。 但是虚拟机有一些缺点,如它不能模拟手机的 WiFi功能,所以很多涉及 WiFi操作的功能开发不能顺利进行;其次,启动模拟器需要比较长的时间,而且它会占用比较多的资源。 所以,要求开发者的个人电脑满足主频至少在 以上的 CPU, 2G 以上的内存空间。 基于 Android 系统的手机地图应用软件开发 13 4 安卓系统手机地图设计 开发方法及步骤 一个应用软件的开发初期,绝对不能盲目的进行代码编写,必须先弄清楚用户需求,计划好软件的总体架构,为后期的开发作指导。 下面就具体分析安卓开发所应具备的一般步骤 [9]: ( 1) 应用程序功能:在应用程序 编码之前, 就应充分考虑到 用户的需求,明确 所要达到的目的,以及为了达到这些目的应用程序应具有的基本功能。 本程序的基本功能为:记录用户移动线路、将轨迹显示在 Map 上、地图功能等。 ( 2) 应用程序 所 需要的界面以及界面之间跳转的流程:在这个阶段应分析应用程序为达到目的,在实现功能过程中的流程,以及所需要的界面和界面之间的跳转流程。 ( 3) 应用程序 所 需要的数据及其数据的来源和格式:在这个阶段应深入分析为完成应用程序的功能所必需具备的数据,数据的格式、来源、用途以及存储方式等。 ( 4) 应用程序是否需要服务端支持:在这个阶段需要考虑应用程序在使用过程中是否需要服务器端的支持,如果需要应该为其提供服务器端的支持。 ( 5) 应用程序是否需要本地数据库支持:在这个阶段需要考虑应用程序是否需要本地数据库的支持,以及数据 支持的方式,如果需要应该为其提供本地数据库的支持。 ( 6) 应用程序是否需要特殊的权限:在这个阶段需要考虑应用程序在使用过程中的各种场景,是否有特殊场景需要特殊的权限,如果需要应该设计权限。 ( 7) 应用程序是否需要后台进程:在这个阶段需要考虑应用程序的应用方式,是否在使用过程中需要调用后台进程,如果需要应该为其设计合适的后台进程。 设计理念 在设计该应用程序之初,就应该分析设计该程序所能产 生的效应,即应用软件 所具备的优势。 现今的主流地图软件包括 Google 地图、百度地图、高德地图等。 这些软件功能已经十分强大,那么如果在功能上耗费时间和精力是没有成效和市场的。 用过这些软件的人应该知道,这些地图在中高端手机上运行时没有问题,但是面对中低端智能手机,它们的缺点就凸显出来了,那就是运行比较缓慢甚至出现卡机的现象。 所以,该款软件的优势应该在 于 简易 灵巧 且功能完善,如果后期制作允许,还应该致力于界面设计,因为一款界面友好的软件往往会得到用户的青睐。 因此,本文所涉及的这款软件旨在针对中低端智能手机市场,设计理念是尽量易于运行且功能完善,界面美观。 陕西科技大学毕业论文(设计说明书) 14 功能模块分析 本文将实现 一个功能比较完备的手机地图软件 ,该应用程序 可以 如下功能。 ( 1)我的地图功能:包括截图,设置旋转角度,设置俯视等小功能。 该功能主要为了方便用户对地图进行合适角度的 ( 2) 实时定位功能:这是每款软件的基础功能,也是核心功能,它能让用户时刻知道自己身处的位置绘制。 ( 3)绘制 图形功能:包括点的绘制,圆形的绘制以及矩形的绘制。 这样可以方用户进行范围设定和相关几何运算。 ( 4)地图标记功能: 支持多地点的标记,用户可以根据自己的需求对相关地点进行标识。 ( 5)地点搜索功能:该 应用程序还具有 地点搜索 功能, 如果输入某一关键字,地图将在市区内搜索带有次关键字的所有地点,这样,用户可以进行相应的选择。 ( 6) 公交查询功能:为用户提供城市部分公交路线图。 ( 7)离线地图功能:为用户提供某些城市的地图下载,这样,可以有效的节省用户流量,能得到用户的喜欢。 系统模块分析 ( 1)我的地图功能模块: 其中截图功能会把用户所截图片存放在默认的图片收藏夹里,可以方便在图库里进行查看。 另外,系统默认把地图旋转 45 度,俯视角为 45 度,当然用户可以根据自己的喜好自行修改旋转角度及俯视角度。 ( 2) 实时定位功能 模块 : 这个功能对手机的网络要求比较高,当用户点击实时更新按钮的时候,地图会自动定位用户所在的地点,并用蓝色小圆点进行标识。 ( 3)绘制 图形功能 模块 : 内包含六个按钮,“绘制点”,“绘制线”,“绘制矩形”,“绘制圆”,“移除矩阵”以及“清除所有”。 点击“绘制点”,系统将绘制一个浅蓝色的小圆点 ; 点击“绘制线”,系统将绘制一条红色的折线 ; 点击 “绘制矩阵”,系统将绘制一个浅紫色的矩形框;点击“绘制圆”,系统将绘制一个浅绿色的圆形。 重复点击这些按钮,所有种类的颜色都会加深。 ( 4)地图标记功能模块: 该模块具有三个按钮 —— “添加标记”,“清楚一个标记”以及“清除所有”。 当点击“添加标记”按钮时,地图会出现一个“ A”字样的红色标识气泡,再次点击可以得到一个“ B”字样的红色气泡标识 ,以此类推。 点击“清除一个标记”, 会清除刚才产生的末尾标记,持续点击,将逆序清除标识。 点击“清除所有”,所有标识一次性清除。 ( 5)地点搜索功能模块: 系统默认在“西安”市内找“大学”,即当用户点击开始按钮时,系统会搜索西安市内的所有大学。 基于 Android 系统的手机地图应用软件开发 15 ( 6)公交查询功能模块: 系统默认查询“西安”市内的“ 336”公交车,用户也可以根据自己的需要 输入其他城市进行查询。 点击“开始”按钮,系统将绘制出“ 336”;路公交车的行驶路线。 ( 7)离线地图功能模块:为用户提供某些城市的地图下载,这样,可以有效的节省用户流量,能得到用户的喜欢。 程序的系统模块如图 41。 开 始主 界 面实 时 定 位 绘 制 图 形 地 图 标 记 地 点 搜 索 公 交 查 询 离 线 地 图我 的 地 图地 图 缩 放街 道 显 示卫 星 显 示地 图 显 示 图 41 程序系统模块 程序流程图 开发人员都知道, Android 系统的应用程序的页面是基于 Activity 跳转的, 当 程序在不同的页面之间转换的时候, Activity 也在进行着跳转,而 Activity 的跳转则在代码层带动程序功能的实现,因此为了顺利的完成程序,必须对程序的流程和程序的页面和Activity 跳转流程有清晰的了解。 程序的流程本文将用流程图来展示,而本程序的 Activity 的跳转相对直接明了,因此只做简要说明和分析。 结合之前的设计,先用流程图来分析整个程序的运行过程,在弄清楚运行过程之后,再用例图来分析用户与程序页面的交互情况,从用例图的交互分析来得到程序页面的跳转流程以及程序的 Activity 跳转流程。 应用程序流程跳转 点击模拟器中的个人地图程序“ 晓伟地图 ”,程序运行后会打开一个主界面,用户在主界面进行选择后再进行各种操作。 程序的 大致框 图如图 42。 陕西科技大学毕业论文(设计说明书) 16 开 始主 界 面实 时 定 位 绘 制 图 形 地 图 标 记 地 点 搜 索 公 交 查 询 离 线 地 图我 的 地 图截 图 旋 转 俯 视实 时 定 位 标 记选 择 绘 制 图 形 种 类输 入 信 息 查 询点 击 开 始 扫 描地 图 缩 放街 道 显 示卫 星 显 示 图 42 程序 框 图 应用程序流程跳转以及 Activity 分析 根据之前的程序流程分析再结合程序的功能和页面使用用例图分析程序的页面跳转,程序的用例图如图 43。 用 户公 交 查 询手 机 地 图绘 制 图 形地 图 搜 索实 时 定 位地 点 标 记离 线 地 图我 的 地 图 与 M y M a p A c t i v i t y 相 关 联与 M y P o i A c t i v i t y 相 关 联与 O f f l i n e A c t i v i t y 相 关 联与 B u s l i n e A c t i v i t y 相 关 联与 S e a r c h A c t i v i t y 相 关 联与 M a r k P o i A c t i v i t y 相 关 联与 I t e m i z e d A c t i v i t y 相 关 联I n c l u d eI n c l u d e 图 43 程序的用例分析 由上图可知,在页面的跳转过程中,会有四个 Activity 伴随着页面的跳转而发生变化,分别是 MyMap、 MyPoi、 Itemized、 MarkPoi、 Search、 Busline、 Offline 七 个 Activity,为此应在程序中设置 Activity 跳转算法,跳转算法如下: Intent intent = new Intent()。 switch (()){ case MENU_MYMAP: (, )。 startActivity(intent)。 基于 Android 系统的手机地图应用软件开发 17 return true。 case MENU_MYPOI: (, )。 startActivity(intent)。 return t。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。