android手机地图毕业设计_第1页
android手机地图毕业设计_第2页
android手机地图毕业设计_第3页
android手机地图毕业设计_第4页
android手机地图毕业设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、专科毕业设计题 目: 滨海地图 系 部: 信息工程学院 专 业: 软件技术 姓 名: 学 号: 指导教师: 2021年 5 月 1 日毕业设计独创性声明该毕业设计是我个人在导师指导下进行的研究工作及取得的研究成果。文中除了特别加以标注和致谢的地方外,不包含其他人或其它机构已经发表或撰写过的研究成果。其他同志对本研究的启发和所做的贡献均已在论文中作了明确的声明并表示了谢意。作者签名: 日期: 年 月 日 毕业设计使用授权声明本人完全了解青岛滨海学院有关保留、使用毕业设计的规定,即:学校有权保留送交毕业设计的复印件,允许被查阅和借阅;学校可以公布全部或部分内容,可以采用影印、缩印或其它复制手段保存

2、该毕业设计。保密的毕业设计在解密后遵守此规定。作者签名: 导师签名: 日期: 年 月 日 青岛滨海学院毕业设计 摘要摘 要随着移动通信与Internet的飞速发展及相互融合,GPRS使无线网络高速接入到Internet成为现实,移动用户从而可以享受到Internet提供的服务。这样,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。本文首先给出了系统研究背景,对当前 操作系统发展做了简单的介绍。说明了android在 操作系统中的优势。本程序主要用于对 地图用户,是外出旅游的好助手,不仅提供旅游线路,还会推荐美食,还有特殊功能,寻找同伴。我们生活中有这样的需求,我们尝试着做了一款 地图软件

3、。基于谷歌地图,有些功能需要联网,有些我们借用了学校的地图,处理之后作为推荐线路。本文介绍的滨海地图软件的功能,包括我的位置、我的同伴、景点推荐、特色小吃。我做的模块是景点推荐,下面我将着重介绍我做的景点推荐模块。该软件时使用eclipse(Android SDK插件)开发的,采用java语言,包括一部分Android语言,下面分别介绍相关的技术。关键字:Android 滨海地图 景点推荐青岛滨海学院毕业设计 目录目 录1绪 论12. 设计实现22.1 需求分析22.2 结构设计22.3 详细设计32.3.1 设计思想32.3.2 具体实现32.3.3 程序代码详解93.结 论11致 谢12参

4、考文献13附 录14青岛滨海学院毕业设计 绪论1绪 论Android是一个移动设备的软件平台,是由Linux+Java构成的开源软件,它提供包括SDK、Key Apps、Middleware、Linux Kernel四个部分在内的全套 软件方案。它开放了基于Linux内核以上的开发工具,从而保证了内容的可移植性和多样性。Android平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用。Android 是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android 是由Linux+Ja

5、va构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。近年来,Google智能 平台Android得到了 行业及客户的普遍认可, 呈爆炸性的趋势发展,为移动运营商、 制造商、软件开发商及客户提供了无限的发展空间,使市场上不断涌现出大量的基于Android平台的软件和增值服务。随着 功能的不断发展,android系统下的各种应用程序应运而生。尤其是谷歌自带的地图功能使得地图开发更加便捷,开发之前需为你的电脑注册一个 and

6、roid google map key,现在这个注册页面已经迁移了,地图一般都是应用百度地图,由于我们这个程序开发的较早,还是用的google map。19青岛滨海学院毕业设计 设计实现2. 设计实现2.1 需求分析 如今Android 软件遍布网络,各种各样的软件有些是不容易操作,有些是没实际用处,让人搞不懂,譬如说地图软件就有很多,谷歌地图、还有使用谷歌地图的一些软件,有些还会插入广告。这样就让人很是反感。我自己也想要一款实用的、简易方便操作的软件。我们团队做的滨海地图软件有两个基本点,一个是简单易用,第二是功能方面基于人性化设计。我们第三个模块跟第四个模块完全从人性化方面考虑,设身处地的

7、为使用者着想,在一个陌生地方,由地图给你推荐旅游线路、地方特色小吃,想想就是一件舒心、温暖的事情。主要实现四个模块我的位置、我的同伴、景点推荐、特色小吃。2.2 结构设计Android程序=Activity+xml(view、surfaceview)+res+string.xml滨海地图软件景点推荐模块,主要包括行政楼、博物馆、一字湖、路线推荐。每个页面进入之后是这个景点的详细介绍,可以点击景点位置跳转到景点在地图上的位置,也可返回上一页面。线路推荐则是推荐的几条游玩线路,选中任意一条线路可进入在地图上显示的线路,线路用红色线标出。经典推荐模块的主页面设计的上面是轮转图片,下面是可拖动的景点列

8、表。2.3 详细设计2.3.1 设计思想(1)xml配置文件 采用LinearLayout线性布局、RelativeLayout相对布局对软件的界面进行布局。(2)继承View类 主要是使用了EditText、TextView、button、ImageView等等界面控件2.3.2 具体实现滨海地图程序图标如图2-1,滨海地图主界面如图2-2所示,滨海地图软件景点推荐模块主界面如下图2-3所示,下面我主要介绍景点推荐模块设计。图2-1滨海地图程序图标图2-2 主界面图2-3景点推荐模块界面这一界面设计用的是相对布局,页面可以上下拖动,最下面Menu菜单是用绝对布局固定住的。上面的图片是轮转图片

9、,如图2-4、2-5、2-6。图2-4轮转图片1图2-5轮转图片2图2-6轮转图片31、 行政楼(1)、行政楼界面如图2-7所示,显示了行政楼的图片以及简介。(2)、点击景点位置按钮进入的是景点所在位置,以红点表示,如图2-8。(3)、点击返回按钮返回上一页面。图2-7 行政楼图2-8 景点所在位置2、 博物馆(1)、博物馆界面如图2-9所示,显示了博物馆的图片以及简介。(2)、点击景点位置按钮进入的是景点所在位置,以红点表示,如图2-10。(3)、点击返回按钮返回上一页面。图2-9 博物馆图2-10景点所在位置3、 一字湖(1)、一字湖界面如图2-11所示,显示了一字湖的图片以及简介。(2)

10、、点击景点位置按钮进入的是景点所在位置,以红点表示,如图2-12。(3)、点击返回按钮返回上一页面。图2-11一字湖图2-12景点所在位置4、 路线推荐界面(1)、线路推荐界面如图2-13,(2)、点击某条线路进入的是线路图页面,以红线表示、第一条如图2-14,第二条如图2-15,第三条如图2-16。(3)、点击返回按钮返回上一页面。图2-13 路线推荐界面图2-14 线路1图2-15 线路2图2-16 线路32.3.3 程序代码详解1、轮转图片,是使用dispatchTouchEvent、onTouchEvent方法。(1)viewGroup的dispatchTouchEvent方法会在其o

11、nInterceptTouchEvent方法之前被触发.又搜了些资料,个人觉得最受用的总结如下:首先触发ACTIVITY的dispatchTouchEvent,然后触发ACTIVITY的onUserInteraction,然后触发LAYOUT的dispatchTouchEvent,然后触发LAYOUT的onInterceptTouchEvent。public boolean onTouchEvent (MotionEvent event) 参数event:参数event为 屏幕触摸事件封装类的对象,其中封装了该事件的所有信息,例如触摸的位置、触摸的类型以及触摸的时间等。该对象会在用户触摸 屏幕

12、时被创建。返回值:该方法的返回值机理与键盘响应事件的相同,同样是当已经完整地处理了该事件且不希望其他回调方法再次处理时返回true,否则返回false。该方法并不像之前介绍过的方法只处理一种事件,一般情况下以下三种情况的事件全部由onTouchEvent方法处理,只是三种情况中的动作值不同。屏幕被按下:当屏幕被按下时,会自动调用该方法来处理事件,此时MotionEvent.getAction()的值为MotionEvent.ACTION_DOWN,如果在应用程序中需要处理屏幕被按下的事件,只需重新该回调方法,然后在方法中进行动作的判断即可。屏幕被抬起:当触控笔离开屏幕时触发的事件,该事件同样需

13、要onTouchEvent方法来捕捉,然后在方法中进行动作判断。当MotionEvent.getAction()的值为MotionEvent.ACTION_UP时,表示是屏幕被抬起的事件。在屏幕中拖动:该方法还负责处理触控笔在屏幕上滑动的事件,同样是调用MotionEvent.getAction()方法来判断动作值是否为MotionEvent.ACTION_MOVE再进行处理。2、绝对布局、相对布局。AbsoluteLayout(绝对布局),在拖动控件,或有动画的空间中常用绝对布局;我使用的标签有android:layout_above="id/footbar_layout_ly&q

14、uot; android:layout_below="id/title_ry">在简单页面运用相对布局布局,灵活性很大,两种布局嵌套使用等等。设计方面还使用了EditText、TextView、button、ImageView等界面控件。青岛滨海学院毕业设计 结论3.结 论滨海地图软件我个人认为做的很成功,但也有需要改进的地方,比如说地图调用方面有时会出现问题,我想以后改为百度地图的开发,界面设计还需要更加的优化,我的技术还是不够成熟,还需要继续努力。通过设计滨海地图软件,加强了我对Android 应用程序开发的理解,学会掌握了dispatchTouchEvent、o

15、nTouchEvent方法。滨海地图的设计过程,让我更加深刻的了解了Android平台。本论文从软件的产生背景需求到详细设计最后还给出了具体的实现,算是一个较完整的小项目。设计中我学到了很多在书本上学不到的知识,本来以为软件开发是一件很简单的事情,但通过自己亲自动手才了解到,软件开发不是那么简单。做软件其实是一个很复杂而艰苦的工作,其中有很多的技巧和无奈,不过当做出来的时候也是非常有成就感的。设计让我们把平时在书本上的理论知识得到了升华,对目前流行的软件开发方法和手段,有了一定的认识,丰富了软件开发的经验,提高了编制程序的水平,SharedPreferences、JAVA、Android的使用

16、增加了我的知识面。通过这次设计,我感觉到我的知识不足,在遇到问题的时候需要各种查资料,通过这个软件的编写使我更加了解软件的开发,现在我能够清晰地认识到实践对于能力提高的重要性与必要性。总结一下,本次设计让我学到了很多课本上没有的东西,并且对我的将来有用的东西,不仅是理论上的更多的是实践上的。同时也让我看到了自己的差距,要想在以后的工作中游刃有余,还需要更多的努力!青岛滨海学院毕业设计 致谢致 谢我还要感谢在这几年来教育我的老师,他们教给我的不仅仅是书本上的知识,他们诚恳真挚的教诲,包括生活,感情,学习上的,都给了我很大的帮助,让我在以后的人生道路中能够走的更好。同时,在这次系统设计过程中还有不

17、少的同学也给了我帮助,在这里也向他们表示衷心的感谢。在这次的毕业设计中,指导老师李红军老师对我帮助非常大。李老师严谨的治学态度和渊博的学识以及认真负责的工作态度,使我受益匪浅。李老师指导的不仅仅是这一次的毕业设计对我以后的工作也深有启发,在工作中要学习老师的这种工作态度,把工作做得更加出色。李老师在理论上和实践上都给予我很大的帮助,是我在各个方面都有很大的提高特别是动手能力上,对我以后的学习和工作都有帮助,在这我衷心的感谢李老师这段时间对我的耐心指导。在撰写论文的时候李老师多次审阅并提出了宝贵的意见,在李老师的指导下我才能够把这次课题设计任务顺利完成。青岛滨海学院毕业设计 参考文献参考文献1

18、android开发入门指南(第2版) 索盖林 著2 孙卫琴. Tomcat与JavaWeb开发 电子工业出版社 2021 年2月,第二版 3 Beginning Android Mark L. Murphy 著4 郭宏志. Android应用开发详解 电子工业出版社 2021年5月,第一版5 Unlocking Android W.FRANK ABLESON,CHARLIE COLLINS,ROBI SEN 著青岛滨海学院毕业设计 附录附 录部分实现代码1、 图片轮转xml部分<hui.mytest.MyScrollView android:layout_width="matc

19、h_parent" android:layout_height="wrap_content" android:id="+id/viewflipper_scrollview" android:scrollbars="none" android:focusable="false" android:layout_above="id/footbar_layout_ly" android:layout_below="id/title_ry"> <RelativeL

20、ayout android:layout_width="match_parent" android:layout_height="wrap_content"> <ViewFlipper android:id="+id/mViewFliper_vf" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dip">

21、 <LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"><ImageView android:id="+id/imageview1" android:layout_width="wrap_content" android:layout_height="220dip" android:backgr

22、ound="drawable/default_pic_1" android:contentDescription="string/app_name"/> </LinearLayout> <LinearLayout android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"android:gravity="center&q

23、uot;><ImageView android:layout_width="wrap_content" android:layout_height="220dip" android:background="drawable/default_pic_2" android:contentDescription="string/app_name"/> </LinearLayout><LinearLayout android:layout_width="match_parent

24、" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center"> <ImageView android:layout_width="wrap_content" android:layout_height="220dip" android:background="drawable/default_pic_3" android:con

25、tentDescription="string/app_name"/></LinearLayout> </ViewFlipper>2、图片轮转action部分 package hui.mytest;import android.content.Context;import android.util.AttributeSet;import android.view.GestureDetector;import android.view.MotionEvent;import android.widget.ScrollView;public clas

26、s MyScrollView extends ScrollView GestureDetector gestureDetector;public MyScrollView(Context context) super(context);/ TODO Auto-generated constructor stubpublic MyScrollView(Context context, AttributeSet attrs) super(context, attrs);/ TODO Auto-generated constructor stubpublic MyScrollView(Context

27、 context, AttributeSet attrs, int defStyle) super(context, attrs, defStyle);/ TODO Auto-generated constructor stubpublic void setGestureDetector(GestureDetector gestureDetector) this.gestureDetector = gestureDetector;Overridepublic boolean onTouchEvent(MotionEvent ev) / TODO Auto-generated method st

28、ubsuper.onTouchEvent(ev);return gestureDetector.onTouchEvent(ev);Overridepublic boolean dispatchTouchEvent(MotionEvent ev)gestureDetector.onTouchEvent(ev);super.dispatchTouchEvent(ev);return true; 3、主页面xml<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:androi

29、d=" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="android:color/white" android:orientation="vertical" > <RelativeLayout android:id="+id/title_ry" android:layout_width="wrap_content"

30、android:layout_height="wrap_content" android:layout_alignParentTop="true"> <include layout="layout/index_title_layout"/> </RelativeLayout> <LinearLayout android:id="+id/footbar_layout_ly" android:layout_width="wrap_content" android:

31、layout_height="wrap_content" android:layout_alignParentBottom="true"> <include layout="layout/index_footbar_layout"></include>" </LinearLayout> <hui.mytest.MyScrollView android:layout_width="match_parent" android:layout_height=&quo

32、t;wrap_content" android:id="+id/viewflipper_scrollview" android:scrollbars="none" android:focusable="false" android:layout_above="id/footbar_layout_ly" android:layout_below="id/title_ry"> <RelativeLayout android:layout_width="match_pa

33、rent" android:layout_height="wrap_content"> <LinearLayout android:id="+id/home_date_ratio_ly" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="id/mViewFliper_vf"> <include layout="layout/index_data_bar"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layou

温馨提示

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

最新文档

评论

0/150

提交评论