毕业设计-基于Android平台的移动特搜的开发.doc_第1页
毕业设计-基于Android平台的移动特搜的开发.doc_第2页
毕业设计-基于Android平台的移动特搜的开发.doc_第3页
毕业设计-基于Android平台的移动特搜的开发.doc_第4页
毕业设计-基于Android平台的移动特搜的开发.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业设计(论文) 基于Android平台的移动特搜的开发学 院 自动化学院 专 业 网络工程 (网络与信息化方向) 年级班别 2007级(4)班 学 号 3107001490 学生姓名 张明健 指导教师 黄永慧 2010年 11 月 基于Android平台的移动特搜的开发张* 摘 要随着手机的普及,3G网络的使用,使到了各种手机应用软件五花八门,不仅丰富了人们的生活内容,而且也为人们提供了快捷的资讯。因此手机将成为人们获取信息的主要设备。本文首先给出了系统的研究背景,对当前手机操作系统的发展现状做了简单的介绍,并对Android与其他手机操作系统进行了比较,说明了Android在手机操作系统中的优势。进而详细的分析了Android的架构。然后在此基础上,基于Android平台设计和开发了一个手机应用软件移动特搜,目的就是致力于满足人们在移动生活中可以随时、随地、随身的获取各种资讯(餐馆、娱乐、服装、天气、线路、新闻、游戏、地图.)。该系统包括餐饮、娱乐、服装、天气、线路、手机、新闻、游戏、和地图等八大模块。餐馆模块的功能就是让手机用户在外出聚餐时提供可选择的地点。服装模块的功能就是把网上服装店以手机网页的形式展示出来。天气模块的功能就是显示查看地及周边地区的天气情况。线路模块的功能就是把用户从源地点所要到达目的地以路线图的形式给画出来。新闻模块的功能就是把报纸杂志的内容在手机端中展示。游戏模块的功能主要是让用户在繁忙的移动生活中能够得到一丝的轻松。地图模块的功能主要用来说明如何通过设定特定的经纬度来显示地图,并在特定位置显示图标及相关操作。 本软件界面友好、操作便捷,具有良好的可扩展性和可维护性;系统经过测试,可以稳定运行,能够满足手机用户基本需求。关键词:Android,移动, 模块目 录1 绪论11.1 项目开发的背景及目的11.2 相关手机操作系统产品的分析和比较21.3 题目研究方法及技术路线31.4 论文的主要工作42 Android的架构53 移动特搜服务系统设计153.1 需求分析153.1.1 用户体检需求173.1.2 功能需求193.2 系统的架构173.2.1 多自由度系统的固有频率和振型173.2.2 多自由度系统的振动响应193.3 客户段的解决方案193.4 开发环境及工具需求分析21结论 48参考文献 49致谢 50附录A511 绪 论1.1项目开发的背景及目的随着移动通讯产业的发展,手机的生产和使用量有了大幅的提高。尤其是进入到了了3G时代后,手机更是变成了人们手中不可或缺的部分,它不再仅仅是用来打电话、发短信,这些都是作为通讯网络的终端;它还有各种各样的应用:上网、学习、娱乐、了解最新的资讯等,随着3G时代的不断深入,手机还将成为互联网的终端,可以向外界提供服务。种种的迹象表明手机将会成为人们获取信息的主要设备,因此如何进一步提升手机的应用价值、开发新的功能,已成为手机发展的热点,而这些归根都是手机应用软件的开发。由于人们对手机功能和应用的要求与日俱增,这使得了手机的应用程序可谓是层出不穷,包括手机游戏,网络应用,餐饮娱乐,用于旅行的移动GPS系统,运营商提供的增值服务移动音乐系统,Web浏览器,地图服务等等的一些应用。到目前为止,每一类的应用软件都多种多样,适合不同的版本,不同的机型,虽然它们都有各自己的优势与方便,但是大部分的软件应用都是各自为政,也就是说,一个软件对应一种或两种的应用,对于一些多功能的应用软件可谓是屈指可数。例如像大众点评网的手机版软件, 3G门户等软件,虽然有其的一定优点,不过也还不能算得上是真正意义上的一合综合的应用。加之还有现在手机生产商众多,而且大部分的操作系统不开源,各种应用在不同的机子上不兼容。对运营商来讲,往往需要对某类手机系统进行单独的开发,这样导致了成本的增大。因此实现开源,与运营商结成同盟,致使开发成本的降低,这对消费者和运营商都有好处。为此,Google于2007年11月推出了一个专为移动设备设计的软件平台Android,它的出现打破了这些格局1。Android是一套真正意义上的开放性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用,拥有移动电话工作所需的全部软件。Android是由Linux +Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验,对多媒体的支持功能和非常强大的浏览器。Android平台的开放性等特点既能促进技术(包括平台自身)的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。1.2、相关手机操作系统产品的分析和比较当前主流的智能手机平台主要有6种,分别是:Symbian、Windows Mobile、 Linux、Palm OS、iPhoneOS和Android。本节对这6种平台做了分析和比较。SymbianSymbian是为手机而设计的实时多任务的纯32位操作系统,提供了开发使用的函数库、用户界面、通用工具和参考示例。Symbian操作系统是由Symbian公司负责开发与维护,2008年12月2日,诺基亚收购了Symbian公司。Symbian具有功耗低、内存占用少等特点,适合手机等设备使用,而且有灵活的应用界面框架,不但使程序开发人员可以快速地掌握关键技术,还可以使手机制造商推出不同界面的产品,例如:S60.3版的手机大众点评网、Symbian系统的地图软件。经过不断完善,Symbian操作系统可以支持GPRS、蓝牙、SyncML、以及3G技术。Symbian操作系统并不是完全开放的,它并没有开放核心代码,但是提供公开的API文档以便任何人都可以开发其应用程序。Windows MobileWindows Mobile是微软推出的移动设备操作系统,该平台具有多任务操作系统、丰富的软件技术、硬件扩展方便和开放系统等特点,并捆绑了一系列针对移动设备而开发的应用软件,这些软件构建在Microsoft Win32 API之上,可以播放音视频文件、浏览网页、MSN聊天和收发电子邮件。例如该系统下的路路通时刻表 lltskb v1.0、手机魔方 Mofun v5.0等软件。但不足的是该操作系统对硬件的配置要求较高,一般耗电量大和硬件成本高等缺点。Mobile Linux Linux原本是专门为个人计算机所设计的操作系统,因此其是由计算机的Linux演变而来的。在Linux成为移动终端的操作系统后,由于其具有开放源代码的优势吸引了越来越多的终端厂商和运营商关注。由于其开源性,手机制造商可以根据实际情况开发自己的Linux手机操作系统,从而也能够吸引更多的软件制造商在其上开发更多的应用软件,但是Linux操作系统也还存在一些不足,集成开发环境和基于Linux的产品与PC的连接性比较差,即开发和使用的复杂性较高和第三方应用程序较少等。Palm OSPalm OS是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小,允许用户在其基础上编写和修改相关软件,使支持的应用程序更加丰富多彩,例如iSilo 5.20。Palm在其它方面也还存在一些不足,如Palm操作系统本身不具有录音、MP3播放功能等,但是可以通过加入第三方软件或硬件设备来实现。iPhoneOSiPhoneOS是由苹果公司为开发的操作系统,以开放源代码的操作系统Darwin为基础,主要为其公司生产的手机和MP4播放器iPod touch使用。iPhoneOS架构分为四个层次。多点触摸操作是iPhoneOS的用户界面基础,此外,iPhoneOS来通过支持内置加速器。iPhoneOS的应用软件可谓丰富多彩,有AutoNavi高德导航v2.0完全版、LetsMeet v1.01版等等。Android2007年11月由Google牵头有30多家移动技术和无线应用领域领先企业组成的开放手机联盟(open Handset Alliance l发布了其智能手机平台一一Android。Google Android平台是一个开放源代码的移动软件平台,允许所有厂商和个人在其基础上进行开发,它提供包括SDK、Key Apps、Middleware、Linux Kernel四个部分在内的全套手机软件方案(Mobile Phone Software Stack)。它开放了基于Linux内核以上的开发工具,实质是以中间件的形式推广手机平台,最终提供给上层应用开发者一个统一的软件平台,从而保证内容的可移植性和多样性。由于其开源性,使得了Android系统在短短的几年间就在世界市场上占据了自己的一席之地,而这正在逐步地扩大其影响力。(影响力的资料可以再深入地分析)综上所述,Symbian,Windows Mobile,Palm 0S等平台过于封闭,不能很快很好的满足用户的需求,市场迫切需要一个开放性很强的智能手机平台,与此同时,Android刚好是一个真正意义上的开放性移动设备综合平台,它包括操作系统、用户界面、中间件和应用程序,拥有移动电话工作所需的全部软件,同时其开放性保证该平台不存在任何阻碍移动产业创新的专有权障碍。所以Android平台很好的适合了这种需求,这表明了Android平台有可能引领未来手机的市场。13题目研究方法及技术路线 本设计所用到的技术有以下几方面:14本文的主要工作第1章为绪论,介绍了课题研究的背景和意义,课题研究的技术路线以及对相关手机平台的操作现状进行了分析与比较。第2章研究了Android平台的系统架构。第3章阐述了Android开发环境的搭建及应用服务设计需要解决的前提问题,论述了服务系统的主要功能, 系统开发的理论与技术支持。最后就是设计了系统Activity之间的跳转算法和系统数据库的处理。第4-7章论述了各功能模块的主要实现过程,并给出了实现后的相关截图。第8章对课题研究成果做了一个简单的总结,并对以后的发展方向做了展望。2 Android 架 构Android平台整体自底向上由以下四个层次组成:Linux内核层、Android运行时库和其他库层、应用框架层、应用程序层。如下图所示:1)Linux内核层:Android基于Linux version2623内核开发的,主要是添加了一个名为Goldfish的虚拟CPU以及Android运行所需的特定驱动代码。该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。作为一虚拟的中间层,该层位于硬件与其它的软件层之间。2)Android运行时库和其他库层:Android运行时库包含一组核心库(提供了Java语言核心库内的大部分功能)和Dalvik虚拟机。同时Android提供了丰富的库类支持且大部分为开源代码。3)应用框架层:在应用框架Android开发人员可以跟那些核心应用一样拥有访问框架APIs的全部权限。应用的系结构化设计简化了各组件之间的重用,任何应用都可以分发自己的足见,任何应用也可以使用这些分发的组件(应用的使用方法需遵循框架的安全性约束)。4)应用程序层:Android本身会附带一些核心的应用程序,包括e_mail客户端、短信程序、日历、地图、浏览器、通讯录等等,目前所有的应用程序都是由Java语言开发的。3 移动特搜服务系统设计31需求分析311用户体验需求一个成功的Android应用程序往往需要提供良好的用户体验。良好的用户体验体现在以下几点:(1)界面友好用户界面要简洁直观,并且易于操作。(2)快速响应快速处理用户的输入或请求,对于有些需要较多时问的应用程序,可以在它处理时,给用户一个提示,让用户知道程序还在运行中。(3)无缝性Android应用程序模型的构建是能够允许用户在不同的应用程序之问进行流畅的切换。所以当用户正在做一些其他的事情,如在接电话或查看地图时,SMS服务每次都在短信收到时弹出一个对话框,这很快就会使用户崩溃,需要引入通知机制,来使用户能够自己控制。312 功能需求移动特搜服务系统扮演着与用户直接交互并提供服务的重要角色,它需要提供友好的、方便的用户操作界面,接收用户的各项操作并将这些操作转化成与之对应的命令,采用用户活动的方式完成各个服务逻辑流程。其功能需求主要包含以下内容:(1)搜索功能用户能够通过此搜索功能,搜索出自己感兴趣的、想要了解的内容。(2) 地点查找功能当用户想了解某个地方时,可以通过此功能来显示对应的地图信息。(4) 路线查询功能当用户想知道地方A到地方B的行驶路线时,可通过此功能来显示出路线信息。(5)创建记录功能当用户认为这个一项内容比较重要,可以通过此功能把此内容及相关信息保存下来,以便以后查看。(6)记录列表功能当用户想查看、修改、删除保存的记录可以通过此功能来实现。(7)手机定位功能当用户的手机丢了或者被偷,可以使用别人的手机,通过此功能来接收手机所处位置的GPS坐标信息,从而找到手机。(8)天气预报功能用户可以随时随地查看天气,了解近周的天气状况。(9)短信转发功能用户如果觉得该类消息值得和朋友分享的话,可以利用此功能把内容简介发给好友。(10)数据库处理功能由于该的应用方面比较多,所以需要有一个好的数据处理系统来处理各种的应用数据。3.2系统的架构本系统采用客户端(C)服务端(S)架构的体系结构,具有服务器端和客户端。客户端:基于Android平台进行开发。通过GPRS无线网络与Intemet网络建立连接,通过服务器实现与Android客户端或PC机客户端之间的即时通讯。客户端负责初始化通信过程,进行即时通讯时,由客户端负责向服务器发起创建连接请求。服务器端:采用Tomcat作为服务器。允许多个客户端同时连接到一个服务器上,客户端与服务器端之间的通讯就在该会话的上下文中进行。3.3客户端的解决方案3.4开发环境及工具需求分析服务器端开发环境,以windows7操作系统为开发平台,用Tomcat6.0做为服务器,Mysql5.0作为数据源,运行在一般的PC机上即可。客户端开发环境,以Android手机操作系统为开发平台,用Android手机操作系统自带的SQLite作为数据源。Java语言和Xml语言作为开发工具,Eclipse3.5作为辅助开发工具。整个Android手机操作系统是在Android SDK提供的虚拟机中运行,该虚拟机运行在windows7操作系统上,所以客户端的开发是在windows7操作系统上运行的Android操作系统中进行的二次开发。开发环境配置请参考文献6。4 线路设计4.1 线路模块需求分析该软件中的线路查询模块最基本的功能是能够有效的为用户提供查询服务,在最短的时间内给用户一条或多条到达目标地的路径。整个查询过程中,只有数据信息是依靠服务器同步获取,其余功能均在手机端完成。在此分别对手机公交线路查询软件的服务器端和客户端做需求分析。服务器可以通过数据库同步,为客户端数据库提供数据。通过仔细分析服务器需求之后,服务器端要完成数据同步功能:采用Servlet技术,响应客户端请求,返回给客户端一端数据流,该数据流按照Xml语言规范写入数据流。客户端主要完成以下功能:1、查询线路功能获得线路经过的每个站点信息以及线路的票价信息和发车时间信息。2、查询指定公交线路功能获得该线路经过的每个站点信息以及线路的票价信息和发车时间信息。3、服务器响应客户端请求返回一段数据流,客户端接收此数据流后,按照Xml语言规范对数据流进行解析,解析后将数据存入客户端数据库。4.2 线路模块总体分析4.2.1 系统数据流程图:线路模块选择查询城市公交线路查询站点查询数据库获取信息返回结果4.2.2 技术选型采用C/S模式进行设计,Android客户端应用使用Java技术,网络通信使用Http客户端,中间Web服务器采用Servlet响应客户技术,采用开源的Tomcat,数据库采用MySQL。4.3 线路模块详细分析4.4 线路模块编码实现5 新闻模块设计5.1 新闻模块需求分析5.2 新闻模块总体分析;5.3 新闻模块详细分析;5.4 新闻模块编码实现6 游戏篇设计6.1 游戏内容简介扔苹果游戏,也即是推箱子游戏,这是一个大家都耳熟能详的游戏,是一款非常大众化的游戏。其是一款来自日本的古老游戏,其设计目的是训练人的逻辑思维能力。其游戏场景一般是设定是在一个狭小的空间内,游戏者通过键盘损人控制箱子的推动方向,并把箱子摆放到指定的位置。6.2游戏模块需求分析 随着手机的发展,游戏也在不同的手机中得到了实现,该设计就是在Android平台手机上实现的一个推箱子游戏。通过分析,可以得出该游戏的基本需求如下:1:游戏的操作必须简单、方便;2:游戏区域必须适应屏幕的大小;3:程序应该记录游戏者移动箱子的次数、游戏时间、需要完成的任务数;而可选的实现内容包括:4:支持用户放弃该次游戏,重新开始;5:用户可以选择不同关卡的内容,即可以选择上一关、下一关的游戏内容;6.3 游戏概要设计; 6.3.1:游戏的总体流程图:开始绘制界面游戏响应消息是否选择重新开始或者其他关卡游戏机绘制界面游戏游戏是否结束结束6.3.2:游戏中的关键问题: 在本程序中,需要解决的几个问题: 1:游戏区域问题 2:实现箱子的移动 分析游戏需求,需要解决的第一个问题就是如何实现箱子的推动,但用户按下上下左右的方向键的时候,箱子会响应用户的键盘消息而做出相应的转向动作。 3: 6.3.3:程序结构的设计: (1)XX类:主控程序类(2)XX类:游戏的主界面类6.4 游戏的设计: 6.4.1:关键代码的实现 (1):箱子的推动6.5 游戏编码实现 程序代码结构、主要代码6.6 游戏运行测试(截图) 6.7 小结7 地图篇设计 背景(Android移动开发案例详解P208):随着全球卫星系统(Global Position System,GPS)的越来越普及,原来离我们很遥远的全球卫星定位系统已经快速来到了我们的身边。基本上现在所有的智能手机系统都带有这一功能,有了这个之后可以随时知道自

温馨提示

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

评论

0/150

提交评论