Android智能导游应用开发技术研究

2016-03-07 14:26陈静涵邢健殷旭东
无线互联科技 2015年7期
关键词:系统设计开发

陈静涵 邢健 殷旭东

摘要:随着科学教育的不断发展进步,我国众多的科研院所与科研企业的科研工作日益增多,随之而来的科研管理工作也日益繁杂化,那么对科研管理系统的建设便成了强化科研单位管理水准的关键因素。文章通过对系统需求的深入分析、为科研管理人员设计出一套便利的软件系统,为科研管理工作提供了保障。

关键词:科研系统;系统设计;开发;Java

0引言

随着人们生活水平的提高,现在的节假日期间,人们往往会选择旅游来放松自己、享受生活。但是,跟团旅游存在着很多限制和弊端,所以越来越多的人钟爱于自驾游。然而,去哪旅游、怎么去、住在哪里、天气是否适宜等等便成为了实质性问题。而手机导游软件恰能很好地解决这些问题,给人们旅游度假提供方便。因此开发一款能够运行在Android等智能手机上的导游应用具有较好的价值。

这款导游软件可以将旅游信息等与移动互联网结合,通过旅游应用为游客提供旅游路线推荐、景区景点介绍、景点信息交互、交通住宿购物等服务,使人们摆脱传统导游的限制,完全按照自己的兴趣来自助安排旅游行程,人们的旅游自主性大大提高,使人们更方便地获得更佳的旅游生活体验。

1系统需求与总体结构

1.1需求分析

该系统的目标是面向Android手机用户。统计显示,现在越来越多的人依赖手机应用程序,例如人们会在这些软件上寻找满意的餐厅、满意的旅店等,而Android是目前用户量最大的一个智能移动设备平台。所以开发该系统具有良好的目标用户群体。该应用不像以往的软件只有某些单一的功能,这次将开发一款软件,把这些服务集中在一起,让用户不用再去安装超负荷的软件。

1.2系统总体结构

该系统是一个基于Android开发的智能手机导游系统,主要实现对江苏省常熟地区相关景点的自助导游。游客可以通过该系统走遍常熟、玩遍常熟。用户可以通过“常熟导游”或者“旅游路线”来自主选择行程,制定一个详细的规划;用户还可以使用“交通推荐”功能,以最快最好的方式,到达目的地;用户可以使用“住宿推荐”和“餐厅推荐”功能,选择满意的旅店和餐厅。

2关键技术

2.1兴趣点标注和POI搜索

在旅游相关应用的开发中,兴趣点标注和信息搜索是一个重要的基础功能。本系统使用百度地图SDK实现这些功能,该SDK提供的检索服务包括以下功能模块:POI检索,多关键字检索,公交方案检索,驾车路线检索,步行路线检索,地理编码,反地理编码,公交详情检索,在线建议查询,短串分享。每个检索功能模块都包括一个主检索对象,一个用于构造检索参数的Option结构体,和一个用于接收检索结果回调的Delegate,所有检索服务都使用异步回调模式。使用检索服务时,需要先初始化主检索对象,然后通过主检索对象以包含检索参数的Option做为参数发起检索,最后实现相应的检索功能模块的Delegate处理返回结果。系统整体结构如图1所示。

2.2显示自定义气泡

在使用的百度地图上标注自己定义的覆盖物,定义一个MyPoiOverlay类继承百度地图SDK中PoiOverlay类,重写onTap()方法获取点击地图的具体位置,如果是旅游景点则弹出自定义的气泡(显示景点名称和导航、详细信息按钮)。如果这个景点有详细信息调用poiDetailSearch()方法显示。导航按钮则跳转到RounteAetivity。

2.3定位功能

实现BDLocationListener接口,BDLocationListener中实现两个方法,实现接受异步返回的定位结果,实现接受异步返回POi查询结果,参数都是BDLocation。再次通过LocationClientOption类设置定位参数。例如打开GPS、设置坐标类型、发起定位请求的间隔。最后发起定位返回onReeeiveLocation。

2.4路线规划

通过输入一个目的地,可以发起路线规划,支持多个途径点和多种算路方式,最多支持添加3个途径点,通过NE RoutePlan Mode类。通过设置算路结果监听器IRouteResultObserver,可以获取算路的结果。通过定位功能取得当前位置,通过上个Activity获取景点坐标。设置算路方式可以选择步行、公交车、和自驾游。设置显示方案个数,显示出合理的规划路径。

2.5导航功能

算路成功后会获得算路结果RoutePlanModel,然后即可以根据算路结果发起导航,导航方式分为模拟导航和真实GPS导航两种。进入到模拟导航或者GPS导航后,点击转向标按钮即可以切换到文字导航,在文字导航界面,可以切换到HUD模式。mRoutePlanModel是算出的成功的导航路径结果。

3设计与实现

3.1主界面设计

主界面是一个可以滑动的Galley空间,使用项目res/layout中的main.xml来定义。根据手势的判断,当手势的滑行超过12像素就切换另一张图片。主界面上的9个按钮对面9个模块。点击任意一个时在其onClick事件中,使用Intent中封装的Activity信息,调用startActivity()方法启动相应的Activity组件进入新的模块。用户点击对应的按钮,就能跳转到相应的页面,得到想要查询的信息界面如图2所示。

3.2主要功能设计与实现

用户可以访问的功能和能够进行的操作都从主页面进入,主页面上分布着9个控件,分别对应相应的页面。如果用户点击某个按钮,就能跳转到对应的页面,得到相应的服务,这些功能模型包括:(1)常熟导游:用户使用该功能就能对整个常熟市的基本情况和旅游信息有一个总体的了解。这里包括常熟的所有地区和交通线路,对于不熟悉本市情况的用户很有实用性。(2)旅游路线:用户选择想要游玩的地点,该系统就会推荐一条或几条途径这些的地点的可行线路,来供用户选择。(3)景点介绍:系统将常熟市所有的景点都涵盖在了这一块,里面包含了对景点的概况和介绍,让游客有一个客观的了解。(4)地图导航:开启该功能,就能对用户选择的路线进行导航,智能且实用。(5)旅游问答:用户使用该控件,就能对旅行途中的问题进行一个简单的提问,加强对该景点的了解。(6)景点扫描:该功能是让用户能够对景点进行扫描,从而得到景点的详细信息。(7)交通推荐:用户选择好目的地后,系统会进行一个路线推荐,里面包含了步行或者打的等方式到达,用户根据自身条件进行选择。(8)住宿推荐:用户使用该功能,就能检索自己选择的地区的附近的所有可居住的旅店,用户根据自身条件,自主进行选择。(9)餐厅推荐:系统将常熟地区的比较好的餐厅都录入了,用户确定好地区后,系统就会推荐几种餐厅,供用户选择,用户可以根据某些限制条件如价格、环境等进行筛选。

4系统测试

该系统是在Eclipse集成开发环境下开发的,包含JDK插件和IDE环境,利用Java语言开发而成。这也是Android开发过程中必不可少的。自从2006年发布以来,不断改进完善,目前最新版本为Mars的4.5版。软件的调试是利用一个AVD虚拟机来进行的,也可以使用真实的手机进行。使用DDMS工具中的LogCat进行错误定位和信息查询。在Android4.4和5.0的多款真实机型上对该软件进行了测试,结果表明,该系统能够正常运行。

传统的导游软件都是通过定位来查看当前位置以及周边的情况,本系统操作与此类似。图3为搜索兴趣点的地图界面,显示当前附近的景点信息和道路状况。在定位之后,用户可以根据自己需要选择自己的目的地。在选择好地点后可以准确定位当前位置和旅游景点的目的位置,方便用户导航到目的地。选择目的地的功能我们目前实现的是通过查询公交直达来查询路线。另外通过饮食的具体图片以及商家信息,提供用户更好的咨询方式如图4所示。

5结语

文章开发的是集旅游路线推荐、景区景点介绍、景点信息交互、交通住宿购物等功能于一体的智能手机软件,它设计操作方便、富有人性化、准确而实时,是人们在外旅游的很好伙伴。在功能的实现上提供了丰富的UI界面和良好的人机交互。相对于其他导游软件而言,更加简约美观,具有较好的实用价值。

猜你喜欢
系统设计开发
河南方言文化资源的保护及其开发利用的研究
遵义红色旅游开发对策研究
单片机在电子技术中的应用和开发