毕业论文:基于Android平台的旅游服务软件设计与实.doc_第1页
毕业论文:基于Android平台的旅游服务软件设计与实.doc_第2页
毕业论文:基于Android平台的旅游服务软件设计与实.doc_第3页
毕业论文:基于Android平台的旅游服务软件设计与实.doc_第4页
毕业论文:基于Android平台的旅游服务软件设计与实.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Android平台的旅游服务软件设计与实现 技术说明文档 1、软件框架简介 文件总体结构如图5-1所示: 图 51 文件结构文件用途【3】如表格5-2所示: 文件名 用途MainActivity.java扩展activity得到,软件的入口,指定加载应用时候运行该java文件。主界面。MapShow.java地图浏览界面,可以对地图进行操作。PoiSearchDemo.java地址搜索界面,向用户提供地址搜索服务。RoutePlan.java路径规划界面,提供公交、步行、驾车路线规划。SceneryIntroduce.java景点推荐界面,通过文字和照片墙介绍景点。GeoCoderDemo.java定位报警界面,提供用户越境消息警告。HelpInfo.java帮助界面,静态向用户介绍软件,实现退出软件。BMapUtil.java对地图上的图片标注图片进行处理。ConvertUtil.java与地图服务供应商服务器进行交互。DemoApplication.java常用事件监听,用来处理通常的网络错误 文件用途2、软件主菜单界面及帮助界面的实现 欢迎界面主要由一个文本框(TextView)和网格视图(GridView)组成,文本框用来显示软件的名称“带你玩”。网格视图在界面上按行、列分布的方式来显示多个组件,用以来展示主菜单界面的各个功能模块的按钮。创建网格视图,添加组件。其代码实现如下图5-3 图5-4: grid01=(GridView)findViewById(R.id.gridView1);ArrayListHashMap listItems = new ArrayListHashMap();HashMap map0= new HashMap();map0.put(Image,R.drawable.dituliulan);map0.put(Text,地图浏览);HashMap map1= new HashMap();map1.put(Image,R.drawable.dizhiss);map1.put(Text,地址搜索);HashMap map2= new HashMap();map2.put(Image,R.drawable.luxiangh);map2.put(Text,路线规划);HashMap map3= new HashMap();map3.put(Image,R.drawable.jindiantj);map3.put(Text,景点推荐);HashMap map5= new HashMap();map5.put(Image,R.drawable.tianqiyb);map5.put(Text,越界通知);listItems.add(map0);listItems.add(map1);listItems.add(map2);listItems.add(map3);listItems.add(map5); SimpleAdapter adapter =new SimpleAdapter(this,listItems,R.layout.activity_grid_view,newStringImage,Text,new intR.id.ImageView1,R.id.TextView1 ); grid01.setAdapter(adapter); 图 5-3 网格视图XML文件代码实现 图 5-4 为网格视图添加组件代码实现 帮助界面的实现比较简单点击Menu按钮会在手机底部跳出退出按钮和帮助按钮。退出按钮实现退出软件,帮助按钮会实现跳转到帮助界面,该界面以静态文字的形式介绍整个软件。帮助界面代码实现如下图5-5: 图5-5 帮助界面代码实现地图浏览界面的实现 地图浏览能够使得用户通过点击缩放按钮来放大、缩小电子地图。也可通过双击放大地图,平移等操作对电子地图进行浏览4。使得用户对电子地图有初步的了解,地图浏览界面通过自定义一个MapView组件来实现百度电子地图的显示。地图浏览界面代码实现如下图5-6、图5-7、图 5-8所示。 图5-6 自定义组件MapView代码实现 图 5-7 检测软件网络是否正常代码实现 获取地图控制器、设置地图是否响应点击事件、设置地图缩放级别、显示缩放控件、初始化地图后地图定位显示指定坐标处的地图。实现代码如下图5-8所示: 图 5-8代码实现地址搜索界面的实现 地址搜素功能能够根据用户输入所要搜寻地址的具体城市和地址名在电子地图中精确定位地点5。地址搜索界面包括EditText组件、AutoCompleteTextView组件及两个Button组件。EditText组件用于输入搜索城市,AutoCompleteTextView组件能够实现当用户输入一定字符后,会显示一个下拉菜单供用户选择,当用户选择某个菜单项之后,组件会自动填写文本框。实现代码如下图5-9所示: 图 5-9代码实现 搜索按钮根据用户输入的地址实现在地图上的精确定位地点,其他数据按钮用于显示相关地址。提供更多的信息。poiSearchInCity(String city,String key)城市poi检索,异步函数,返回结果在MKSearchListener里的onGetPoiResult方法通知.实现代码如下图 5-10所示: 图 5-10代码实现路线规划界面的实现 路线规划功能能够根据用户自定义的起始点和要到的目的地,来为用户的出行规划路线。界面采用线性布局和相对布局的布局方式,能够提供驾车、公交、步行等线路信息。MKPlanNode是路线结点信息类,drivingSearch(String startCity, MKPlanNode start, String endCity, MKPlanNode end) 驾乘路线搜索。transitSearch(String city, MKPlanNode start, MKPlanNode end) 公交路线搜索.walkingSearch(String startCity, MKPlanNode start, String endCity, MKPlanNode end) 步行路线搜索.实现代码如下图 5-11所示: 图 5-11代码实现 景点推荐界面的实现 景点推荐通过照片墙和文字介绍的方式向用户推荐景点、介绍景点的特色,用户可以参考推荐的景点在地址搜索界面上搜索地址,路线规划界面查询路线。界面包括一个ImageView组件及一个TextView组件,ImageView组件用来显示照片墙,用户可以点击按钮前翻后翻图片墙的文字,如果不操作点击按钮,照片墙会实现自己轮转图片6。TextView组件用于显示每张图片的景点文字介绍。实现代码如下图 5-12、图5-13所示。/定义一个访问图片的数组int jdimage = new intR.drawable.lijiang,R.drawable.qiao,R.drawable.shuangta,R.drawable.shui,R.drawable.xiangbi,;int currentImg = 2;/定义默认显示的图片 private int alpha = 255;/定义图片的初始透明度 图 5-12代码实现 当新线程发送消息时,使用Handler处理消息7,通过Timer周期性地执行指定任务,TimerTask对象的本质是启动一条新线程,程序在新线程里发送一条消息,通知系统更新ImageView组件。final Handler myHandler= new Handler()public void handleMessage(Message msg)if(msg.what=0x1233)mainPicture.setImageResource(jdimagecurrentImg+);if (currentImg 4)currentImg = 0 ;if(currentImg =0)jskwb.setText(丽江); else if(currentImg =1)jskwb.setText(桥桥); else if(currentImg =2)jskwb.setText(双塔); else if(currentImg =3)jskwb.setText(水水); else if(currentImg =4)jskwb.setText(象鼻);new Timer().schedule(new TimerTask()Overridepublic void run() Message msg =new Message();msg.what=0x1233;myHandler.sendMessage(msg);, 0, 10000); 图 5-13代码实现定位报警界面的实现 定位报警通过为相关地点划定半径,输入要提示信息。使得用户经过该地点半径范围内时,软件通过文字和音乐进行事物提醒。界面包括输入指定地址和提示内容的文本框及半径选择组件SeekBar。用户点击选择好半径及要所想要的提示内容后,点击确认按钮。选择半径长度8,在TextView组件中显示,实现代码如下图 5-14所示。sBradius.setOnSeekBarChangeListener(new OnSeekBarChangeListener()Overridepublic void onProgressChanged(SeekBar arg0, int jindu, boolean arg2) if(jindu0&jindu100&jindu=200)mile.setText(200m); 图 5-14代码实现 当用户进入所要定位提醒的位置的规定半径之内,软件会响起内置的音乐声,并且在界面上弹出一个Toast提醒用户注9意事项,该注意事项是用户之前在提醒输入框中输入的文字,或者当用户走出定位位置规定内半径范围时,对用户进行提醒,该功能可以用于防止队友走散,走出规定的地点。实现代码如下图 5-15所示。 MediaPlayer mediaplayer=MediaPlayer.create(GeoCoderDemo.this, R.raw.earth); if(myradiusdistance & In.isChecked()String message=messagetold.getText().toString();String strInfo = String.format(提示:%s ,message);Toast.makeText(GeoCoderDemo.this, strInfo, Toast.LENGTH_LONG).show(); mediaplayer.start(); 图 5-15代码实现 根据用户输入的地址名,转换成为地址的经纬度,再通过将经纬度转换成地图坐标显示在电子地图上10,再根据之前选择的半径范围对定位地址在电子地图上显示出规定半径的半透明圆,圆的设置实现代码如下图 5-16所示。 geo.setCircle(p, myradius); Symbol circleSymbol = new Symbol(); Symbol.Color circleColor = circleSymbol.new Color(); circleColor.red = 0; circleColor.green = 200; circleColor.blue = 0; circleColor.alpha = 80; circleSymbol.setSurface(circleColor, 1, 1); Graphic gra = new Graphic(geo,circleSymbol); glay.setData(gra); /清除地图其他图层mMapView.getOverlays().clear();/添加一个标注ItemizedOverlay图层mMapView

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论