




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全套设计加扣 3012250582基于Android系统的电子地图定位查询系统摘 要电子地图服务是利用互联网结合手机性能及电子地图技术而开发的电子地图服务软件。目前,互联网上有许多的电子地图软件,如百度地图、搜狐地图、Google地图,其中因为Google地图是免费地图,所以更被广大用户接受。手机的电子地图定位系统软件能便捷地为手机用户提供定位服务。这款基于Android开源操作系统的电子地图定位查询系统功能是本文要设计实现的,Android SDK接口是该系统采用的技术比一般技术要精确,采用了百度地图,采用方便的JAVA语言作为程序开发语言,采用SQLite作为数据库系统,基于EClipse的集成开发环境来进行程序的设计与开发。最后系统经过测试,发现本文设计的电子地图定位查询系统满足实现对本机定位,而且可以根据建筑物(地图上标定的)名称进行定位,规划并显示出路径等功能需求,达到了本文设计的目的。关键字:电子地图 定位 Android MySQL JAVAThe Electronic Map Location Query System Based on AndroidABSTRACTElectronic map service is a map service which is developed by the network combining mobile phone function and electronic map technology. At present, there are a lot of electronic map services on the Internet, such as Baidu, Sohu, Google, Google, which is more widely accepted by the majority of users. Mobile phone electronic map positioning system can easily provide positioning services for mobile phone users.This paper presents the design and implementation of a query system based on open source Android operating system electronic map positioning, the system uses the Android SDK interface technology development, the electronic map by Baidu map, design language using Java as a programming language, database using SQLite database system, based on the eclipse integrated development environment for program design and development. Finally after testing found in this paper, the design of electronic map positioning query system realize the positioning of the machine, and can according to the building (the name map calibration) to locate, planning and show the path and other functional requirements, to achieve the purpose of the design.Key Words: Map Position Android MySQL JAVA目 录第一章 绪论11.1 课题背景及意义11.2 国内外研究现状11.3 主要研究内容2第二章 系统开发相关技术及环境搭建32.1 Android介绍32.2 与课题相关的Android开发技术42.2.1 Android界面布局技术42.2.2 XML解析技术42.2.3 数据交互技术5第三章 系统需求63.1 需求分析63.1.1 可行性分析63.1.2 系统功能需求分析6第四章 总体设计74.1 总体设计74.2 功能模块设计74.2.1 定位功能设计74.2.2 附近功能设计74.2.3 路线功能设计74.2.4 设置功能设计74.3 数据库设计84.3.1 数据库设计概述84.3.2 数据分析84.3.3 数据库表设计8第五章系统详细设计与系统实现95.1 定位与搜索功能设计与实现95.2 附近功能设计与实现115.3 路线方案功能模块设计与实现145.4 设置功能模块设计与实现16第六章系统测试196.1测试概述196.1.1 测试目的及意义196.1.2 测试方法196.1.3 测试环境196.1.4 测试步骤196.2 黑盒测试196.2.1 系统测试用例选择196.2.2 测试结果206.2.3 典型测试用例216.3 白盒测试226.4 测试结论23第七章特色与创新247.1 MVC设计模式247.2 位置搜索与定位相结合24第八章开发小结278.1 遇到的问题及解决办法278.2 开发体会27参考文献29致 谢31全套设计加扣 30122505822第一章 绪论1.1 课题背景及意义随着移动通信终端的普及和移动互联网技术的发展,越来越多的用户对移动网络的要求也越来越高,当前市场上存在的如塞班,Windows Mobile,IOS移动平台等过于封闭的移动操作系统,封闭的系统已经不能很好的满足用户的需求,因此市场迫切需要发展强有力的平台。谷歌推出为移动设备设计的软件平台Android系统。由于Android版本,它是一种开放系统体系结构,不仅有良好的开发和调试环境,还支持各种可扩展的用户体验(比如丰富的图形和多媒体组件支持),操作系统越来越受到大众的青睐,并逐渐占据了手机市场的重要地位。根据当前手机系统的发展趋势,Android系统有一个巨大的市场,有可观的前景。所以基于Android系统开发的一系列应用程序也会有很多。随着道路的建设以及城市的扩大,电子地图应用也获得的大发展,特别是在我国,尤其是大城市,我们的出行很多时候都是依靠电子地图的方式搜寻出行路线,这在很大程度上方便了我们的生活,本文正是在这样的背景下设计开发的,电子地图定位查询系统的开发具有较为重要的现实意义。1.2 国内外研究现状当人类步入21世纪,随着科技的日趋发展,智能手机,平板电脑等高端电子产品进入了我们的日常生活,随着3G时代已经慢慢的融入了我们的日常生活,随着社会的进步和科技的发展手机已经从单纯的通讯工具转变为集娱乐,学习,通讯为一体的高端电子产品,随着诺基亚塞班系统的没落,安卓系统迎来了春天。据市场调查,智能手机市场已经形成了二足鼎力的态势,安卓和苹果的IOS作为领军者遥遥领先于windowsphone系统。同时各种android应用程序已经有了比较明朗的发展前景,尤其以手机游戏这个亮点受到广泛的关注和喜爱,正是由于android拥有广大的用户群,android手机游戏拥有巨大的潜力,它也主宰者手机游戏的未来,现如今Android的市场份额占总体智能手机市场份额的50%以上,相对于前几年来说,其发展势头势不可挡。以至于越来越多的开发商加入了Android应用开发的行列。在2010年,Android市场份额仅占4.7%左右,并其市场只有不到20000个应用程序。但在2011年初,这个数字就已经超过了25万大关。而随着越来越多的应用的诞生,由于其的多元化和普遍性越来越高,其发展趋势已开始渐渐逼近世界智能手机龙头苹果公司推出的ios系统。而在多个Android的应用程序排行榜中,无论是按照使用量或者人气,或者收入,70%以上的应用排行榜榜首都是游戏。可见,当前Android游戏应用深入人心。而针对电子地图APP应用也比较多,特别是基于百度地图、高德地图等的应用也越来越多。电子地图可以通过附近功能提供生活的便利,应用符合当前人们对于出行及自身位置定位的需要。1.3 主要研究内容本文实现的电子地图定位查询系统主要实现的功能:(1)自身位置定位功能。(2)附近功能:为用户生活提供便利,如可十分方面的搜寻到超市、银行、加油站、KTV等多种生活常用信息。(3)路线设置功能:提供三种方式:步行、驾车及公交。(4)设置功能:通过设置是否保存搜索记录,可查询用户的搜索记录情况。本文的主要内容结构可从以下几个方面介绍:第一部分,介绍课题的背景,进而引申出课题的现实意义;研究国内外现状,分析系统设计的内容等。第二部分,开发技术分析,包括开发环境及开发技术。第三部分,需求分析:可行性分析和功能需求。第四部分,总体设计:介绍功能及数据库设计。第五部分,系统详细设计与实现:分别介绍各个模块的实现思路及界面设计过程。第六部分,对系统功能模块进行测试分析。第七部分,对特色及创新进行描述。第八部分,对系统开发过程及遇到的问题进行分析,提出解决办法以及开发过程的体会。第二章 系统开发相关技术及环境搭建2.1 Android介绍Android系统的基础是Linux核心应用程序1,具有和Linux一样的完全免费的跨平台特性,同时也提供了开发工具包SDK给程序开发者,这些特性,会使得Android系统大受市场好评及在手机操作系统中处于领先地位2。Android平台的架构包括:内核层、系统运行库层、应用框架层以及应用层组成3。其框架架构图如下图2.1所示。图 2.1 Android结构应用层这一层主要是由在Dalvil虚拟机的各种应用程序4。Dalvil虚拟机5是专门为Android系统设计的基于寄存器的Java虚拟机,以便利用Java语言开发应用程序更高效地运行6。应用框架层7开发人员可以和 Linux核心应用一样,拥有访问整个框架 API(应用程序接口)的权限8。系统运行库层9系统运行库层主要是由一些库组成,这些库的名称叫NDK开发库10,此开发库的开发语言采用C/C+语言,使其运行更加高,并且该NDK开发库可以直接访问系统的硬件。Linux内核层11Linux内核层主要包括驱动程序模型、内存管理、进程管理、网络协议栈的组件12。2.2 与课题相关的Android开发技术2.2.1 Android界面布局技术在Android上使用的XML格式与HTML格式类型,通过通过树形结构来控制和设计的,下面的示例,展示的是一个XML示例文档:界面布局方式分为线性布局、帧布局等多种不同的布局方式13。界面设计过程中,可采取一种布局方式或几种布局方式混合使用,取决于界面效果的需求。Activity(活动)是Android应用程序的基本功能单元14。一个 Activity可以实现多个功能,为了能在手机屏幕上显示出Activity 的交换界面,开发人员通常使用 View类和Viewgroup类来开发Activity对应的UI。在Android平台上,使用Viewgroup类和View类定义UI一般使用如图 2.2所示的层次结构。15图2.2树状层次图2.2.2 XML解析技术Android平台中,XML数据可以很容易地被Android应用程序加载并进行分析,然后输出XML格式的结果,实际上Android应用程序的界面就是使用XML语言来实现的16。Android平台通常使用的XML解析技术有三种,分别是SAX方式、DOM方式和Pull方式17。2.2.3 数据交互技术Android客户端与服务器的交互方式主要是通过HTTP协议,主要通过多种HTTP方式,如HttpURLConnection、HttpGet和HttpPost等18。本文采用的是利用HttpGet和HttpPost访问Http上的资源。其访问HTTP资源的流程图如下图2.3所示。图2.3访问HTTP资源流程图第三章 系统需求3.1 需求分析3.1.1 可行性分析1.经济可行性分析经济可行性研究的目的是使新系统能达到以最小的开发成本取得最佳的经济效益。电子地图定位查询系统硬件易于满足,而且开发费用相对比较透明,易与控制,系统开发完成后将给电子地图定位查询系统带来的经济效益明显。因此在经济上是可行的。2.技术可行性分析本文采用JAVA作为设计语言,它是一种太阳公司开发的一种可视化的开发语言之一,也是如今全球使用的最为广泛的一种程序研发设计语言。如果你对于编程语言毫无了解,却又十分迫切的想要可以掌握最为方便好用的编程语言的人,那么JAVA是你的首选。就算是想到了JAVA代码运行和编译速度的不足,但单从它的便捷性的速度和容易学会的语言规则,它都是一种相当好的编程语言,是初学者们的不二选择。3.运行可行性分析运行可行性主要从用户操作能力这块去评判,因为使用该系统的一般都是受过高等教育的学生人群或者编程人员,都能基本熟练操作电脑,因此可无需进行培训或者稍微培训即可正常使用该系统,从这方面来讲,系统的运行性可以得到保障。3.1.2 系统功能需求分析本文设计的电子地图定位查询系统实现的主要功能包括:(1)定位:定位自身位置信息。(2)附近:查询KTV、银行、公交站、景点、超市等日常使用的功能。(3)路线功能:包括驾车、步行以及公交路线等。(4)设置:可设置为自动保存搜索记录,当用户搜索的时候自动记录用户搜索的内容及时间。第四章 总体设计4.1 总体设计总体设计是对需求分析的抽象描述,需要划分模块进行界定,但不涉及具体的数据结构。电子地图定位查询系统的功能结构图如图4.1所示:图4.1 电子地图定位查询系统功能结构图4.2 功能模块设计4.2.1 定位功能设计当用户位于某个陌生的地方,不熟悉地形或迷路时,用户可以打开手机启动此系统的定位功能来准备确定自己所在位置的经度、纬度、海拔等准确信息,并通过MapView清楚地查看路况信息和所在位置周围的一些标志性建筑物,以此找到方便快捷的出路。4.2.2 附近功能设计系统调用百度地图接口,如选择“KTV”功能模块,在百度地图上对用户附近的KTV进行标示,当用户点击该处KTV时,显示该KTV的名称、位置以及联系电话信息,用户还可以点击查看路线,给出乘车路线。4.2.3 路线功能设计路线包括:驾车、步行、公交三种路线。用户选择不同的路线,地图在搜索的时候,给出的出行方式也不一样。4.2.4 设置功能设计用户可选择是否自动保存搜索记录,来对用户的搜索记录进行保存或不保存。4.3 数据库设计4.3.1 数据库设计概述数据库设计是系统设计十分关键的部分,数据库设计的好坏直接关系到系统设计数据存取的效率,一个好的数据库设计需要在设计数据库表及存储过程的时候,合理考虑数据库表的可扩展、易用,字段及字段占用内存的大小等。如果这些方面设计不好,容易操作数据溢出甚至出现系统崩溃,运行速度,特别是查询时速度很慢的情形发生。因此,数据库设计是系统开发中的重要且关键的一环。4.3.2 数据分析数据分析过程是确定数据流的过程,进而确定数据有哪些字段,数据的关键字,数据与数据之间的关系等,实体数据关系的确定可帮助用户在设计功能时提供帮助,特别是有相互关联的功能之间实体数据字段的索引等设置。数据分析可用ER图来确定实体与属性,通过划分不同的分组确定实体存在的方式如何,也可以通过不同的划分来确定数据的去向流向,提升数据处理的正确度,以便快速查找问题所在。4.3.3 数据库表设计本文设计的地图定位查询软件采用SQLite数据库对数据进行管理,其数据库表包括:搜索记录表一个表。表4.1 搜索记录表字段类型长度不可为空值默认值说明备注idInt4自动编号cnamevarchar200搜索名称datedatetime200搜索时间第五章系统详细设计与系统实现本文设计实现的电子地图定位查询系统主要实现的功能包括:附近、定位、路线、设置等功能。下文将分别予以介绍。5.1 定位与搜索功能设计与实现1.模块概述该模块主要涉及1个数据表:搜索记录表,保存用户的搜索记录信息。打开电子地图定位查询系统客户端界面,可实现如下功能:(1)地图视图的显示:加入图层及覆盖物,支持平面图、卫星图两种模式; (2)定位用户位置;(3)地址查询:输入地址,定位输入地址后,标示出在地图上。2.算法描述首先调百度地图,显示百度地图视图,加入图层和覆盖物;接着向地图服务器发送定位请求,地图服务器收到客户端定位请求后,发送用户位置信息到客户端,在客户端显示用户当前位置。用户输入搜索地址,查询该输入地址的位置信息,在地图图层上标示出来,点击标示图层处,可显示该位置信息,地址信息以及联系电话信息,还可以查看路线到达信息等。3.算法流程图图 5.1 定位搜索算法流程图4核心代码实现/定位线程Runnable locationRunnable = new Runnable() Overridepublic void run() mLocationOverlay = new MyLocationOverlay(mapView);/创建定位图层mLocationOverlay.enableCompass(); / 打开指南针mLocationOverlay.setData(locData);/设置我的位置信息mapView.getOverlays().add(mLocationOverlay);/添加定位图层mapView.refresh();5.运行效果截图百度地图运行主界面图如下图5.2所示。在主界面,可选择四种功能:附近、定位、路线以及设置。图5.2 系统主界面图5.3 搜索结果界面5.2 附近功能设计与实现1.模块概述电子地图定位查询系统附近功能,实现查找附近10000米内所有的POI点(包括KTV、银行、公交站、酒店等常用的功能)。2.算法描述附近功能,向地图服务器发送定位请求,地图服务器收到客户端定位请求后,发送POI位置信息到客户端,在客户端显示POI位置。3.算法流程图图 5.4 附近功能算法流程图4核心代码实现/POI信息定义private String poiNames = new StringKTV,银行,公交站,星级酒店,快捷酒店,小吃快餐,团购,美食,超市,网吧,电影院,咖啡厅,景点,酒吧,洗浴,按摩,桑拿,足疗,加油站,火车票,停车场,火锅,医院,药店,ATM,公园,学校,旅馆,/显示POI信息邮局,厕所;private void initGridView() int poiPics = new PoiInfo().getPoiPics();String poiNames= new PoiInfo().getPoiNames();GridViewModle modle = null;for(int i=0;i0)dbUtils.deleteAll(list);/删除所有记录list.clear();/从列表中清空记录(BaseAdapter)mRecordList.getAdapter().notifyDataSetChanged();Toast.makeText(SettingActivity.this,清空成功!,0).show(); catch (DbException e) e.printStackTrace(););5.运行效果截图打开电子地图定位查询系统客户端界面,进入百度地图主界面。在百度地图主界面。用户在主界面点击【设置】按钮,出现设置界面,如图5.11所示。在设置界面用户如选择自动保存搜索记录,当用户搜索的时候,系统会自动保存用户的搜索记录,否则,用户不进行保存。图5.11设置界面第六章系统测试6.1测试概述6.1.1 测试目的及意义有错是软件的特性,是不能改变的,因为程序是由软件开发人员编写完成的,只要是人编写的程序都或多或少的会存在问题的,所有的工作也都不是完美的程度。最重要的是要通过不断的测试验证过程,发现如何避免和消除错误的解决方式方法使程序中的错误程度尽可能的达到最低或降低发生系统性崩溃或无法浮现错误问题的几率。测试质量与软件质量相关,甚至影响到产品的使用寿命,因此,在开发产品的过程中,需要将测试贯穿整个开发过程,加强对单元测试、集成测试的综合测试,通过不断的测试,发现系统潜在的问题,实现系统的可用性、可靠性,提供产品的质量,延迟产品的使用寿命。6.1.2 测试方法软件测试的主要方法包括:黑盒测试和白盒测试两种。黑盒测试着重于系统功能测试,而白盒测试着重于功能代码实现逻辑等方面的测试。本文由于时间关系,采用黑盒测试方法对系统进行测试。6.1.3 测试环境硬件设备:安卓手机真机,作为电子地图定位查询系统的测试环境。6.1.4 测试步骤测试步骤如下: 1.准备安卓手机; 2.安装电子地图定位查询系统APP;3.进入系统。4.打开电子地图定位查询APP软件。5.附近、路线、设置、定位等按钮,开始定位查询。6.2 黑盒测试6.2.1 系统测试用例选择本文设计的电子地图定位查询系统设计测试用例38个,测试功能模块4个,测试BUG数为4个,其中,严重BUG数为:1个,一般BUG数为2个,无效BUG数为1个。功能模块的测试用例分布图为:图 6.1 测试用例分布图6.2.2 测试结果1.BUG定义如下:1.BUG的定义(1)严重BUG严重BUG指的是影响系统正常使用,如系统出现崩溃重启,运行程序时出现停滞一直不运行等情况。(2)一般BUG一般BUG指的是不影响系统的正常使用,但也会造成系统的美观度或性能不够理想等,如显示文字出了编辑框,出现错别字。(3)无效BUG无效BUG指的是无法定位错误或描述不太清楚的BUG。2BUG趋势本设计的电子地图定位查询系统V1.0版本的测试发现了4个BUG,经过程序调试修改,生成的电子地图定位查询系统V2.0版本测试全部的BUG都均已消除。BUG趋势如下图:图 6.2 BUG趋势图6.2.3 典型测试用例本文选择的典型测试用例如下:搜索地址为“北京大学”,在地图上显示其位置信息及路线(设置为公交)信息,在设置功能里查看其搜索记录信息。测试结果如下:搜索“北京大学”,定位界面如下图:图 6.3 “北京大学”定位界面图查看“北京大学”路线,路线界面如下图:图 6.4 “北京大学”路线界面图查看“北京大学”搜索记录,显示界面如下图:图 6.5 “北京大学”搜索记录界面图6.3 白盒测试白盒测试主要分为两种方法:一种方法是逻辑程序覆盖,另一种方法称为是路径覆盖的方法。白盒测试依据程序的逻辑结构测试,如if-else-then等语句测试,一般要做到全覆盖测试。本文主要对搜索POI方法设计白盒测试用例。测试用例如下:public void onGetPoiResult(MKPoiResult result, int type, int error) clearOverLay();popw.dismiss();if(error!=0|result=null)Toast.makeText(MapActivity.this, 抱歉,未能查到结果!, 0).show();else/PoiOverlay poiOverlay = new PoiOverlay(MilkMapActivity.this,mapView);/ 符合搜索条件的所有点/poiOverlay.setData(result.getAllPoi();/ 向覆盖物列表中添加覆盖物对象PoiOverlay/mapView.getOverlays().add(poiOverlay);/ 刷新地图/mapView.refresh();/ 当执行完POI检索后,我们会得到一个POI的列表。mkPois = result.getAllPoi();if(mkPois.size()0)mMapController.animateTo(mkPois.get(0).pt);/MKPoiInfo mkPoi = mkPois.get(0);/ 取POI列表中的第二个元素/* 每个POI节点都有个uid属性,我们可以根据这个uid获取关于这个poi的一些更详细的信息。 * 比如:评论、图片、商户描述等。*/ 发起查看详细信息的请求/mkSearch.poiDetailSearch(mkPoi.uid);Drawable drawable = getResources().getDrawable(R.drawable.iconmarka);mapView.getOverlays().add(new MyOverlayItem(drawable);mapView.invalidate();mapView.refresh();白盒测试结果截图如下:图 6.6 白盒测试结果界面截图测试界面反应迅速,在不到1S的时间界面就能显示出来,对于用户来说,体验很好。其他模块也都通过测试,达到了系统需求分析的结果。6.4 测试结论1.功能和性能来说功能上实现电子地图常用的功能,如附近功能,用户定位功能,路线方案的设定功能等,还加入用户搜索记录新功能,为用户出行提供了一定的方便。从性能来说,占用手机内存资源不多,而且运行流畅,体验良好。从整体上讲,是一个比较好用的电子地图定位查询系统。2.用户使用角度评价设置的功能位置明显而且清晰,使用者一看就知道功能是做什么的,如何使用,十分容易上手,达到了易用性的目的。而且也提供了常用的附近功能,如KTV、银行、医院等,可以查看到方圆10公里范围的所有位置信息的同时,提供三种到达方式供用户选择,不管是驾车,乘公交还是步行,用户按照提供的路线都能达到指定的位置,方便了用户使用。3.可扩展性本软件采用模块化设计,通过本软件,用户可十分方便的调用百度地图接口,实现电子地图的其他功能。第七章特色与创新通过开发基于百度地图的电子地图定位查询系统软件,我发现了在设计过程中的一些问题,但也提供了自己设计该软件的思路,不仅是直接调用百度地图提供的接口,而是把自己的设计想法融于系统设计中去。7.1 MVC设计模式在程序设计中,习惯上把系统分为模型(Model)、视图(View)、控制器(Controller)三种模块的设计方式称为MVC设计模式。MVC设计模式中每个模块的功能均不同,模型(Model)模块的主要功能是描述应用程序的业务逻辑和状态,一般分为业务模型和数据模型两种模型;视图(View)负责向用户提供可交互的界面,向用户显示模型的数据;控制器(Controller)的主要功能是响应用户的请求,根据接收到的客户请求来操作模型,并通过视图把模型的响应结果展示给用户。MVC设计模式示意图如下图。图 7.1 MVC设计模型图7.2 位置搜索与定位相结合1.模块概述根据搜索位置,调用地图定位接口,检索经纬度信息,城市信息,距离信息等,同时获取位置名称信息,在地图图层上显示该位置且标注出来。2.算法流程图图 7.2 搜索与定位结合流程图3.算法描述根据搜索位置,获取该位置的经度、纬度、半径以及直线距离和城市信息,然后根据经纬度获取位置,调用animateTo函数以动画的方式画出,然后在地图上显示出该位置。4.实现核心代码/地图定位事件监听public void onReceiveLocation(BDLocation location) /clearOverLay();if (location = null)return ;locData.latitude = location.getLatitude();/经度locData.longitude = location.getLongitude();/纬度locData.accuracy = location.getRadius();/半径locData.direction = location.getDerect();/直线距离city = location.getCity();/城市mLocationOverlay.setData(locData);mapView.refresh();mygeoPoint = new GeoPoint(int)(locData.latitude* 1e6), (int)(locData.longitude * 1e6);mMapController.animateTo(mygeoPoint);myAddress = 当前位置: + location.getAddrStr();/根据定位到的坐标点查询地址/mkSearch.reverseGeocode(mygeoPoint);localHandler.post(new Runnable() Overridepublic void run() Toast.makeText(MapActivity.this, myAddress, 1).show(););/关闭定位服务mLocationClient.stop();第八章开发小结8.1 遇到的问题及解决办法1.数据库开发问题在数据库初期设计过程中,由于缺乏对产品需求进行综合、归纳与抽象的经验。造成设计数据库表字段不合理,造成数据库数据冗余比较多,后经过查阅相关的资料数据进行了改造,设计的数据库表符合系统设计流程和业务流程。2.Android端开发问题在Android 4.0版本之前,Android可以在主线程中访问网络,有许多资料和书籍都是4.0之前的内容,所以在编写网络访问部分时,参照了许多旧版本的资料,代码出现了错误,但是一直没有考虑到是版本的问题。经过查找谷歌官方的教程发现了问题,凡是4.0后的版本都禁止在主线程中出现网络连接、访问等操作,需要用异步线程去完成,因此使用了官方最新提供的AsyncTask异步类解决了问题。8.2 开发体会本文通过系统的设计和开发,本文的体会主要有:(1)学习自己从未接触过的一门新技术,要想掌握和理解其开发精髓,最重要的是以实例的形式,特别是一门语言,经过练习编程的方式去理解。(2)设计一个好的系统,十分关键的阶段是需求分析。如果需求分析做不好,很可能使整个系统功亏一篑。本文在设计之初就遇到了这个问题,主要是自己欠缺android开发经验,同时对百度地图了解不多造成的,开始想的比较简单,但实际做起来却发现无从下手,甚至错误很多,同时功能设计也不合理,通过一段时间的学习与了解,本文设计选择了较为常用的功能实现,不仅减轻了设计难度,而且也促进了对android系统设计模式以及设计过程的熟悉,为以后的工作奠定了基础。(3)系统设计及代码实现阶段,向老师请教以及同学讨论、查阅资料在不断的开发设计过程中,得以使功能实现和代码编写完成。这个过程是自我学习的一个过程,让我懂得了别人的经验不可能立即成为自己的经验,只有通过自己的实践和真刀实枪的去做才能把别人的经验变成自己的开发经验。这个过程让我收获颇多,增强了我设计开发的信心与能力。31天津理工大学2016届本科毕业论文结束语这个软件是一个在Android系统上实现的电子地图定位查询的软件,并且能够对搜索记录及路线进行设置与管理。这个系统的主要工作就是,实现用户的定位,位置的查询,用户附近POI在10公里内的定位查询,路线的选择以及用户搜索记录的管理等功能。 完成毕业设计与论文的过程对于我来讲,是较为复杂的,从刚开始的什么都不懂,到最后一切的完成,让我体会到了四年大学生活的意义所在,也让我对本专业有了一个更深层的理解,尤其是如何编写该软件设计所需要的语言Java、MVC设计模块、Android开发技术与SDK的应用。我很庆幸毕业来临之际有这样一个认识自我,磨练自我的机会,也很感谢刘冰教师的谆谆教诲及室友的援助。这段经历我是我学生时代最为难忘的回忆,整个过程让我学到了做任何事情都需要有严谨的态度,良好的心态和一个好的工作习惯。软件最终的设计完成可能仍然存在缺陷,但在此之后我会更多的去了解Java、Android并且完善我的设计,我也期待与将要设计与本软件相类似的人去交流,以便对它有更深层的理解。参考文献1姚昱旻,刘卫国.Android 与J2ME 平台间即时通信的研究与实现J.计算机系统应用,2008(12):118-1202 公磊,周聪.基于Android 的移动终端应用程序开发与研究J.计算机与现代化,2008(8):86-89.3 曾薪夷基于Android 平台的GPS 导航系统的设计与实现 J计算机与现代化,2012(9):225-2284 陈昱,江兰帆.基于Google Android平台的应用程序开发和研究J.福建电脑,2008(11):156-157.5 赵情融基于Android平台的个人移动地图应用D武汉:华中科技大学,2011,18-196 宋崇生基于Android 手机的好友定位系统的探究与实现J科技视界,2012,4(2):152-1547(印)克曼特内尼,(美)麦克莱恩精通Android移动开发制胜宝典M 北京:人民邮电出版社,20131-18 杨健基于Google Maps的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公路工程试验检测师考试复习要点:(道路工程)综合练习题及答案二
- 安宁市2025-2026学年七年级下学期语文月考模拟试卷
- 安徽省合肥市肥西县2023-2024学年高一下学期期末考试地理考题及答案
- 2025 年小升初韶关市初一新生分班考试语文试卷(带答案解析)-(人教版)
- 2025 年小升初北京市初一新生分班考试英语试卷(带答案解析)-(人教版)
- 广东江门2025-2026学年高二调研测试理综生物试题及答案
- 吉林省吉林市舒兰市第十六中学校2024-2025学年上学期期末测试八年级数学试题(含部分答案)
- 南京管道安装合同范本
- 铺面设备转让合同范本
- 贷款用进货合同范本
- GB/T 18268.1-2025测量、控制和实验室用的电设备电磁兼容性要求第1部分:通用要求
- (高清版)DB11∕T 1455-2025 电动汽车充电基础设施规划设计标准
- 2025年辅警招聘考试真题(含答案)
- 电化学储能电站设计标准
- DB4403T 508-2024《生产经营单位锂离子电池存储使用安全规范》
- 200兆瓦风电项目清单及报价表
- 午托班合伙人合同范本
- (人教版)初中英语九年级全册 各单元测试卷及答案共十四套
- 高值耗材点评制度
- 三节有机磷杀虫剂课件
- DB37∕T 5081-2016 住宅厨房卫生间排烟气系统应用技术规程
评论
0/150
提交评论