收藏 分销(赏)

旅游系统.docx

上传人:快乐****生活 文档编号:2418077 上传时间:2024-05-29 格式:DOCX 页数:27 大小:42.34KB 下载积分:10 金币
下载 相关 举报
旅游系统.docx_第1页
第1页 / 共27页
旅游系统.docx_第2页
第2页 / 共27页


点击查看更多>>
资源描述
随着人们进入21世纪以来,科技的发展导致生活水平不断提高,科技影响 着人们的生活,人们的生活日新月异,各种便民产品不断出现不断升级。移动端 产品发展迅速,风靡全球。科技大爆炸带来的生产能力提高,极大提升了人们生 活水平。人们在达到物质需求之后,渐渐地更高要求的追求身心的愉悦。旅游业 应运而生。旅游业是我国近年来大力发展的事业。逐渐的有人看到了移动科技与 旅游业之间的联系,把他们有机的结合起来。期间,智能媒体的横空出世,更在 这个舞台上烧了一把大火。现在人手一台的智能手机,是巨大的市场,如果我们 的软件能占领这块市场,其未来的回报是可怕的。话说回来目前智能手机主流的 操作系统为IOS、android、windows等等。在我国,不得不说,android手机客户 占了很大的比例,它正在渐渐地改变着我们的生活。本毕业设计就是借用目前的 android平台,完成的一款智能终端的旅行系统。 本课题在对android平台介绍和使用的基础上,采用Java语言编写,使用 SQLite数据库,使用ADT软件在android ±搭建环境,完成系统。 本课题最终将智能终端与真人旅行有机结合,采用实时定位技术,通过数据 分析,为出门旅行的用户,保驾护航,为其提供方便快捷的定位、导航、找酒店、 电子地图等功能。 关键词:android;智能终端;旅游系统;ABSTRACT As people enter the twenty-first Century, the development of science and technology has led to the continuous improvement of living standards, science and technology affect people's lives, people's lives with each passing day, all kinds of convenience products continue to upgrade. Mobile terminal products developed rapidly, swept the world. Science and technology has brought about the great explosion of production capacity, greatly improving the people's living standards. People after reaching the material demand, gradually higher requirements of the pursuit of physical and mental pleasure. Tourism came into being. Tourism is the cause of great development in China in recent years. Gradually some people saw the mobile technology and the tourism industry, the link between them, the combination of them. During the intelligent media turned out more in this arena burned a fire. Now the hands of a smart phone, is a huge market, if our software can occupy the market, its future returns are terrible. Words come back to the current mainstream operating system for smart phones IOS, Android, windows and so on. In our country, we have to say, Android mobile phone customers accounted for a large proportion, it is gradually changing our life. The graduation project is to use the current Android platform, completed a smart terminal travel system. This topic on the basis of the introduction and use of Android platform, using Java language, using the SQLite database, using ADT software on the Android to build the environment, complete the system. This topic will eventually intelligent terminal and travel reality organic combination, using real-time positioning technology, Key Words: android; intelligent terminal; travel system; 1引言 1.1系统设计背景 Android系统的快速发展并非是出乎意料,这一切都是得益于Android系统 的开源与免费服务的特性〔i】。开源是Android系统的一项主要特性,源代码是免费 向开发人员提供的。更重要的是能够让不同的需求者随意按自己的意愿改进系统, 而避免了开发中专利权的障碍,同时也为第三方软件开发商省下大笔资金。现今, Android操作系统已成为许多手机制造商的宠儿,其中包括HTC、索尼爱立信、 Samsung.摩托罗拉以及国内的联想、华为、海尔、小米等⑵。 Android系统已经得到了很多厂商与用户的认可。同时随着手机的硬件不断 提升,用户对软件的需求变得多元化,智能化,向着高性能的趋势发展。逐渐的 有人看到了移动科技与旅游业之间的联系,把他们有机的结合起来。期间,智能 媒体的横空出世,更在这个舞台上烧了一把大火。现在人手一台的智能手机,是 巨大的市场,如果我们的软件能占领这块市场,其未来的回报是可怕的。 该体统采用3G通讯技术、GPS和网络定位技术、操作系统的开放API的三 者结合,手机应用端正是基于Android平台开发的。当用户在在旅游的时候,可 以在地图上记录自己的行进路线在地图上图文标识,可以拍照片。本文就将对 Android旅游APP近年来的发展进度展开综述,介绍一下Android旅游APP系统 及当下其研究的一些主要问题和研究方法。 1.2国内外Android旅游软件发展状况与存在问题 国内外的旅游系统还是以网站为主,其侧重点在推广旅游景点,吸引广大旅 游爱好者到当地去消费,拉动当地京畿道发展。现在国内外的社交网站也很多, QQ、Facebook等等。在虚拟社会中,人员鱼龙混杂,各个用户之间缺乏依赖和 信任。在手机移动应用方面,不管是网络社交系统还是出游系统,与网站的发展 现状很相似,单单一方面刻意要求功能上的高大上,以达到自身粘合用户,而忽 视了有效用户的使用体验,以至于大多数潜在用户在使用后就放弃了,另外国内 旅游软件功能都比较传统很少能有将旅游、就餐、地图集于一身的软件。 当下社会,我们所定义的旅游业早已发生了巨大的变革,由于智能手机,平 板的,无限网络的普及,加速了传统旅游业和移动数据的粘合。作为用户,我们 可以足不出户,就可以掌握各种旅游信息,办理各种宾馆酒店的事实入住。对于 用户而言,传统旅游业和移动数据的粘合精简了出行体的简易程度,对于我国的 经济高速发展具有非常积极的作用,也提高了我们生活的水平。从当下旅游业的 发展趋势来看,在不久的未来移动终端旅行的主战场将会挪到手机应用上。 1.3开发系统应遵循原则 1.3.1普通用户对系统的要求 1. 提供一个友好的用户主界面,使用户可以很快了解整个软件的运作流程 与所有模块。 2. 提供一个舒适的天气预报功能和城市更改功能。 3. 提供一个友好的景点搜索页面。 4. 提供一个友好的公交搜索、查询页面。 5. 提供一个友好的定位设置界面,用户可以设置是否允许远程获取本机经 纬度坐标、通过定位系统的数据地图上显示具体的地点信息、获取精确定位到的 具体的详细信息。 1.4系统设计意义 现在几乎每个人都有一部自己的智能手机,旅游的时候可以随时随地查看附 近的景点了解当地的基本信息以及当地的公交,这样节省了大量的线路选择。地 图的设置让游客及时了解自己所在位置,景点推荐让游客了解到附近的美景。现 在国内外的社交网站也很多。在虚拟社会中,人员鱼龙混杂,各个用户之间缺乏 依赖和信任。在手机移动应用方面,由于智能手机,平板的,无限网络的普及, 加速了传统旅游业和移动数据的粘合。 当下社会,我们所定义的旅游业早已发生了巨大的变革,由于智能手机,平 板的,无限网络的普及,加速了传统旅游业和移动数据的粘合。作为用户,我们 可以足不出户,就可以掌握各种旅游信息,办理各种宾馆酒店的事实入住。对于 用户而言,传统旅游业和移动数据的粘合精简了出行体的简易程度,对于我国的 经济高速发展具有非常积极的作用,也提高了我们生活的水平。从当下旅游业的 发展趋势来看,以后移动旅行的主战场将会挪到手机应用上。 作为用户,我们可以足不出户,就可以掌握各种旅游信息,不管是网络社交 系统还是出游系统,与网站的发展现状很相似,单单一方面刻意要求功能上的高 大上,以达到自身粘合用户,而忽视了有效用户的使用体验,以至于大多数潜在 用户在使用后就放弃了,另外国内旅游软件功能都比较传统很少能有将旅游、就 餐、地图集于一身的软件。所以,我经过自身的仔细考虑和研究分析,准备自己 动手制作一款,功能亲民,界面优雅,占用内存小的精致软件系统。 1. 用户可以查看景点介绍。 2. 用户可以查看公交线路介绍。 3. 可以查看天气预报。 2相关技术 2.1 Android架构分析 Android中文称安卓,他是Linux奠定基础的,半开放原始码作业为基础的 系统。安卓系统一般在移动设备上使用,由Google成立创立的Open Handset Alliance (OHA,开放手持设备同盟)继续领导与开拓中。 Android的系统架构和其操作系统一样,采用了分层的架构。从架构图(见图 2-1)看,Android分为五个层,从高层到低层分别是应用程序层、应用程序框架 层、系统运行库层、Android的运行层和Linux核心层⑸。 1. Android应用程序层 Android的焦点应用程序包发布一般会一起发布,而且该应用程序包会包含 主页、联系人管理、电话、浏览器等。这些全部的应用程序都用Java语言编写。 2. Android应用程序框架层 开发人员可以通过调用API来对核心应用程序来进行访问。这样可以让应 用程序的设计框架得到简化并且使得组件得到重用。这些服务与系统是隐藏在应 用程序之后〔6】。 3. 系统运行库层 Android包含一组C/C++库,这部分是应用程序框架技术的支持,接下来这 些库可以用于各种Android系统组件。他们通过安卓应用框架为开发者提供服务。 这些库包括 SurfaceManager、Media Framework、SQLite^ OpenGL|ES、FreeType、 WebKit> SGL、SSL、Libe、系统运行库共十个部分⑺。系统库被调用流程如图 所示2-2 o 4. Linux 核心层 Linux 2.6内核是Android的最主要系统服务的依靠,如安全性、内存管理、 进程管理、网络协议栈和驱动模型。Linux内核也同时作为硬件和软件之间的抽 象层冏。 2.2搭建Android开发环境 1, 安装 Android SDK 打开网址" Android SDK开发包,然后直接解压到自定义目录。为了方便用户使用Shell命令进行开发, 该命令的执行工具在SDK的tools文件夹中,所以我们可以像配置JDK开发环境一样把SDK 的环境配置好。首先,右击【我的电脑】,依次点击【属性】 >【高级】 >【环境变量】。 然后双击【系统变量】里面的Path项,将Android SDK中tools文件的完整路径添加到里面, Android SDK安装结束。 2. 安装JDK 到该网址“ ”下载 Windows x86 下的 jdk-6u, 然后双击安装,安装成功之后,依次点击【属性】 >【高级】 >【环境变量】。双击【系统 变量】里面的Path项,将jdk中bin目录的完整路径添加到这里。然后双击【系统变量】里 面的classpath,将jdk中的jre目录的完整路径输入。 3'下载 Eclipse3.7.1 与安装 ADT 然后到"http://www.eclipse.org/downloads/”选择适合自己的操作系统的Eclipse,下载 的是Windows x86操作系统下的Eclipse3.7.1的版本。然后下载ADT插件,下载完成后, 解压刚刚下载好的 Eclipse,启动 Eclipse 并选择[Help] > [Install New Software] > [add] > [archive],找到下载好的ADT进行安装。或者在Name栏输入ADT名字,然后再Location 填入网址"https://dl- 重启 Eclipse> 进行 Android SDK 设置,选择【Windows】> [Preferences] > [Android], 找到SDK Location输入框,然后输入Android SDK的安装路径。设置Eclipse的Java JDK 属性设置,选择【Window】> [Preferences] > [Java] > [Installed JRES],点击 Search 把 JDK的安装路径输入,环境配置结束凹。 2.3 Android应用程序构造分析 Android应用程序主要由四各部分组件组合而成,这四种组件分别是: . Activity • Broadcast Receiver • Service • ContentProvider 我们在使用这四种组件之前应该先注册,注册完成之后才可以正常使用。注 册的时候有些操作还需要加上相应权限,才能够正常使用。这几个组件不是每个 程序都需要,例如当用户需要向外部提供数据接口的时候才使用Content Provider, 当用户需要接收广播的时候才使用Broadcast Receiver□ 2.3.1 Activity 1. Activity 综述 Activity是安卓系统的四大组成部分之一,它是用来表示用户界面组件的。 Activity的主要内容之一是视图(View),此外,这个类还包含标题栏、菜单、 对话框等功能。Activity的作用一方面点类似于Struts中Action类的作用负责整 个业务的控制。它通过setContentView( xml界面配置文件)来显示界面。 2. Activity生命周期 Activity有七种生命周期方法,从Activity建立到销毁的过程中需要在不同 的阶段调用多个生命周期方法〔i%生命周期方法被调用说明: •第一开始:在这个阶段执行生命周期方法,分别是onCreate、 onStart 和 onResume。 •第二失去焦点:运行状态进入应用程序或者别的活动,之前的会 失去。在这个阶段会执行第一阶段的前两个方法方法。在这个情况下如 果系统内存不足也会直接调用onDestroy方法将其销毁,把内存空间让 给其他应用程序。 •然后重新获得焦点:如果Activity重新及时的回到当前页面,它 会重新获得焦点,改Activity保存有自己原来的资源。这个阶段依次执 行的方法有 onRestart、onStart 和 onResume。 •最好关闭:它关闭同时,系统会按照同样的生命周期方法,分别 是 onPause、onResume、onDestroy 依次执行。 2.3.2 Broadcast Receiver BroadcastReceiver(广播接受器),其作为Android四个组件之一,它也有别的名字有的书 籍也叫Intent Receiver(意图接受器),它的使用结构如图2-3所示。当吸引用户的实物出现, 会该程序会被动的使用户接收。在使用广播接收器之前应该先注册,可以静态的在 AndroidManifest.xml中通过<receiver>声明,但也可以动态在代码中使用 Cote- xt.registerReceiver()进行注册。实现一个BroadcastReceiver的关键点就是完全接收器的继承 者实现的第一种调用方法,这个方法包含的Context类型的参数表示传递下来的上下文, Intent参数表示调用者传递给这个广播接受器的信息。 2.3.3 Service 1. Service的综述 Service(服务)作为Android四大组件之一,它是一种应用程序组件,它会在 后台运行、无互动性、无确定时间运行。作为后台运行的组件,服务没有和用户 交互的手段。但是服务和其他调用者交互的方式是Android各种组件中最复杂的。 服务调用的方式有“启动”和“绑定”两种。前者比较简单,后者具有更强的交互性。 从服务和调用者的关系上来说,分为本地调用和远程调用两种方式。服务器和调 用者处于同一个进程中的调用模式叫本地调用模式;反之服务器和调用者处于不 同进程中叫远程调用。例如,他们分属不同的程序包。 2. Service的构建方法 在Android中实现一个服务需要继承android.app包中的Service类,实现的 基本流程如图2-4所示。 3. 启动模式与绑定模式的运行状态 对于启动模式,执行的流程为:启动(start)=> [服务自己运行]=>停止(stop)o 服务一旦启动后就不再受客户端控制,服务停止的时候也不再告诉客户端。对于 绑定模式,执行的流程为:绑定(bind)=>[服务和客户端交互]=>解除绑定(unbind)。 服务被绑定后,可以返回一个接口给客户端,客户端通过这种接口和服务进行交 互,当解除绑定客户端可以得到响应。两种模式相比较而言,绑定模式具有更强 的交互性。这种交互性主要体现在onBind()时刻返回给客户端的接口。两种模 式的声明周期如图2-5所示。 2.3.4 Content Provider 1. Content Provider 综述 Content Provider(内容提供者)类实现了一组标准的方法,从而能够让其他的应用保存或 者读取此内容提供者处理的各种数据类型。通用的数据访问的接口由提供者提供,并且这些 接口可以跨包使用。具体的数据内容不会影响内容提供者,它们可以存在系统的数据库或者 其他任意地方。 对于绑定模式,执行的流程为:绑定(bind)=>[服务和客户端交互]=>解除绑 定(unbind)o服务被绑定后,可以返回一个接口给客户端,客户端通过这种接口 和服务进行交互,当解除绑定客户端可以得到响应。 2. Content Provider 内容提供者需要标识的声明,动态和静态的注册都是可行的。每一个提供者都会有一组 定义好的发发。内容提供者的具体结构如图2-6所示UH。 2.4 SQLite数据库介绍 2.4.1工作原理 不同于普通的客户端-服务器模式,SQLite引擎连接到程序并成为系统它的一个非常重 要的部件,他并不是一个单独独立的进程,他可能是并行的。编程语言中的编程语言第一步 接口调用的是主要的通信协议。它发挥了积极的作用。使其消耗的资源、系统内部的延时等 待和整体变得精简。整个数据库(定义、表、索引和数据)都存储在主计算机上的单个文件 中。它通过一个简单的设计,将整个数据文件锁定在一个事务的开始。 2.4. 2功能特性 1. ACID事务 2. 零配置-无需安装和管理配置 3. 单一磁盘文件中的一个完整的数据库的储存 4. 数据库文件可以在不同字节顺序的机器间自由的共享 5. 支持数据库大小至2TB 6. 足够小,大致13万行C代码,4.43M 7. 比一些流行的数据库在大部分普通数据库操作要快 8. 简单,轻松的API 9. 包含TCL绑定,同时通过Wrapper支持其他语言的绑定 10. 良好注释的源代码,并且有着90%以上的测试覆盖率 11. 独立:没有额外依赖 12. 源码完全的开源,你可以用于任何用途,包括出售它 13. 支持多种开发语言,C, C++, PHP, Perl, Java, C#,Python, Ruby 等 SQLite虽然小巧但是不简单,其拥有强大的适应性和软件硬度,可以兼容很多系统以 至于它支持的数据库编程语句不少与很多数据库,它支持的数据库编程语言包括: ATTACH DATABASE BEGIN TRANSACTION comment COMMIT TRANSACTION COPY CREATE INDEX CREATE TABLE CREATE TRIGGER CREATE VIEW DELETE DETACH DATABASE DROP INDEX DROPTABLE DROP TRIGGER DROP VIEW END TRANSACTION EXPLAIN expression INSERT ON CONFLICT clause PRAGMA REPLACE ROLLBACK TRANSACTION SELECT UPDATE 当然支持事务处理也是它的功能之一。很多人喜欢把它与微软的access相对比,觉得 他们相似,但是恰恰,他们亮相完全不同。 相对于微软而言,SQLife支持跨平台,与此同时SQLife有一个更简单的方式来使用, 通过大量的编程语言创建一个数据库,但access需要接入。ffice支持。如果你只是一个小的 应用程序,而且你要做一个简单的嵌入式开发,有没有合适的数据库系统,那么你可以使用 SQLiteo在2013年10月17日的最新版本是3.8.1。我们开发人员可以得到源代码和文档。 同时系统源代码,操作方便快捷,适合专业数据库开发工程师使用。 2.4. 3数据类型 首先你会接触到一个让你惊讶的名词:Typelessness(无类型).。SQLite的数据 类型是无类型・。这就表明你可以保存任意列你想保存的数据到任意的列中,无 论一开始这列声明的数据类型。对于SQLite来说,字段不指定类型的定义是完 全有效的・。如:: Create Table exl(a, b, c)。 2.5系统设计前期准备 1. 安装 Windows 7 系统,下载 Eclipse> Android SDK、ADT 软件,搭建 Android开发环境。 2. 夯实自己的Java基础。 3. 熟悉和掌握建立SQLite数据库与数据表的方法。 4. 能够方便快捷的地进行修改、添加、删除、查看各项需要的数据。 5・掌握Android UI开发的基础。 6. 能够利用Android API进行基本的开发。 7. 对系统设计进行合理的规划与得当的分配时间。 2.6历史版本 从某个层面某种意义来说来讨论SQLife的历史,对SQLite的最初的想法是 在军舰上进行。在写作中为美国海军的导弹驱逐舰使用的程序对SQLite的作者 D. Richard Hipp. 一般动力学的工作时间。程序开始运行在Hewlett-Packard UNIX(HPUX)±运行,使用Informix数据库做后台。但对于具体的应用,Informix 有点矫枉过正。一个经验丰富的DBA安装或升级数据库可能会花上一整天的时 间,如果不是有经验的程序员,这段时间可能是永远。在那个时候,一个自我包 含的数据库是最需要的,它是易于使用和可以控制的程序的传导,并在此外,无 论其他软件安装,它可以运行。他的设想在当时有点疯狂。 但是HIPP心动不如行动,于2000年一月,HIPP想到就要做到,马上开始 与同事讨论建立一个简单的SQL数据库的创建可嵌入式的发展思路,该数据库 将使用哈希库(GDBM)做为后台运行平台。如果成功这个数据库不需要安装和 管理支持。后来,HIPP开始研究和开发工作,于2000年八月,SQLite 1版发布。 按照HIPP他制定的最初想法,SQLite第一个版本问世版准备用gdbm作为 存储管理器。然而,不久以后Hipp就使用B-TREE替代了 gdbm,原因是它可以 支持事务的交易和记录,并将它们存储在主键中。这一具有里程碑意义的升级, 使得SQLite获得了一个长远的发展,逐渐成熟的功能,用户逐渐增加。2001年 中期左右,SQLite也看到了他在许多开源项目和商业产品。在接下来的几年中, 开源社区的其他成员开始SQLite扩展成自己喜欢的脚本语言和库。大陆继续, Perl, Python, Ruby扩张后,java等主流的编程语言,新的扩展如SQLite ODBC 接口并证明了 SQLite是广泛使用的实用功能。 3总体设计 3.1系统需求分析 3.1.1系统总体功能分析 经过对系统设计背景、国内外现状与存在问题、设计意义、设计原则与涉及 到技术有所了解之后。对用户做了需求分析调研,得到了用户的需求分析报告。 然后结合Android系统手机的特点,得出了本系统的功能,所有功能的设计围绕 着尽量能够帮助用户找到自己喜欢的景点和合适的公交线路。接下来,我们看一 下如何分析这些功能,具体功能如下。 1. 公交查询功能 作为该软件的最基本的实用功能,公交线路查询需要有效快速的相应用户, 最快最准确的为用户找到规划好一条或者多条可供挑选的路径。在整个检索过程 中,有且只有道路交通信息是通过服务器来同步获得,别的规划计算步骤均在移 动端实现。所以在这个时候,需要对客户可能需要的的交通要求进行全面细心的 统计分析。 2. 景点推荐功能 我们来到一个陌生的地方对当地的景点不了解不知道去哪玩,那样既浪费了 精力也浪费了时间也,通过景点推荐将附件景点推荐给游客让游客根据自己喜好 选择自己喜欢的景点。自主的让用户去依赖上我们的软件 3. 景点定位功能 游客对当地不熟悉,不知道去各个景点的路。通过景点定位功能让游客知道 景点所在的位置,这样人性化的设计可以很大程度上提搞用户对软件的用户体验 值。包括为用户提供景点内的细致地图。 4. 附近搜索功能 通过附近搜索功能可以了解附近一些基本信息,例如宾馆、公交等信息。方 便用户快速在景点站住脚,方便其在外旅行,增加用户对软件的依赖感。 5. 天气预报功能 用户可以查看指定地点的天气预报,也可以查看当前位置的天气预报。给用 户提供方便,增强与用户的粘合度,为软件的宣传加大口碑力度。 3.1.2系统目标分析 在经过认真分析用户的使用情况,明确得出了用户的一些基本需求,通过研 究系统开发的目标如下。 1. 针对用户对当地环境陌生的特点,开发了电子地图,让用户能够自主的 游玩景点。 2. 针对Android平台被广泛应用的特点,软件的用户数量应该比较多,市 场的前景比较好,在我国安卓用户依旧是最大的客户群,占领安卓用户,就能立 于不败之地。 3.1.3系统可行性分析 经过调查、研究、分析,系统的应用已经条件成熟,将从以下几个方面总结 系统开发的可行性,具体分析如下。 1. 技术可行性 应用Android-MVC架构模式,Eclipse与ADT作为集成开发环境,SQLite 作为数据库,自定义远程操作协议,再结合Java程序设计语言、Google MAP> GPS定位实现系统设计。系统运行硬件环境为Android平台。安卓作为一个开源 的平台,能够让我方便有效快速的进行软件开发。 2. 经济可行性 系统开发需要投入一台作为测试的Android手机,本人已有用一台可以作为 测试的安卓3G手机,一个运行集成开发环境的电脑,本人的XPS15电脑完全可 以带动这个系统。这些设备也作为学习与生活的必须品,所以从投入的物力上讲 是可行的。本软件还应用了 Google与百度的免费服务,不需要支付第三方费用。 系统带给用户的便捷与经济效益远远超过其开发成本。综上所述,该系统的开发 在经济上是可行的。 3. 操作可行性 系统可视化程度高,操作简单。用户首次运行软件便很快地掌握整个软件运 行的流程。目标用户通过自定义远程操作协议,对用户手机进行远程操作,远程 操作是隐藏于后台进行,确保了操作的隐蔽性[⑵。提高了用户能动的实用性。 3.2系统总体设计 接下来,让我们看一下我们系统的总体设计结构: 3.2.1 系统使用的设计模式 MVC (Model-View-Control) MVC(Model-View-Controller)设计模式大多应用于J2EE开发中。M指的是 模型层,V指的是视图层,C指的是控制层。MVC设计模式将模型层和视图层 分开,使得在软件设计过程中分工明确,降低了各个模块之间的耦合度。控制层 的主要作用是保证视图层与模型层之间的更新保持同步,起到了领导作用。MVC 状态转换示意图如图3-1所示。 使用MVC设计是本系统的设计思想,在Android平台设计MVC的设计思 想中也是互通的。本系统设计的MVC各层说明说如下。 1. 视图层(View):在Android平台程序设计中使用XML标签来管理描述界 面,每个模块都有各自的XML文件。用户通过调用各个组件的ID来实现调用 各个模块的组件,非常的方便。 2. 控制层(Controller):在Android平台中控制层的功能由Activity来实现, 通过Activity将返回的结果放到界面显示给请求用,户调用了在Activity中调用 模型层处理业务。在Android中耗时的操作不能够放在Activity中进行,因为 Activity的响应时间为5s,超过响应时间范围的业务逻辑容易被销毁。 3. 模型层(Model):在模型层完成占用资源比较多操作,例如对数据库的增 删改查,通过GPS获取经纬度等应该放到该层〔⑶。 3. 2. 2系统的一层DFD图 4系统实现 总体设计的定义是工作人员根据软件需求说明书,通过结构化程序设计思想, 将软件完全的分解成多个程序模块,直到将系统分解成只具有单一的功能,能用 一个或几个程序实现的简单结构为止。总体设计阶段还要定义各模块的数据传递 关系,设计软件的编码方案、文件存储策略、输入输出格式,以及硬件和系统软 件配置,最后编制概要设计说明书。 总体设计的内容主要包括:⑴结构化模块设计;⑵代码设计;⑶文件设 计;⑷输入设计;⑸ 输出设计;⑹系统软硬件配置设计;⑺ 编制设计说明书。 4.1数据库详细设计实现 4. 1实现原理 本系统是Android旅游软件设计,不属于信息展示类型的软件设计,属于工 具软件的范畴。所以数据库存储的信息是软件中涉及的一些主要的信息。本数据 库只有一个数据表,该数据表以key-value的形式存储数据,类似Java语句中 的哈希表一样存储数据,所以只需要一个数据表就可以存储多种类型数据。 PhoneDbAdapter类为数据库适配器类,其中包括一个静态DatabaseHelper类, 该静态内部类负责数据库的创建与更新,还有数据表的创建与实例化。在 DatabaseHelper ()构造方法里面创建phone, db数据库。通过onCreate ()方法 创建数据表,通过initValues ()方法初始化数据表,通过onUpgrade ()更新数 据库。PhoneDbAdapter类还负责对数据库的增删改查业务。 创建数据表关键代码 DatabaseHelper(Context context) {〃数据库创建 super(context, DATABASE_NAME, null, DATABASE_VERSION); ) void initValues(SQLiteDatabase db) {〃数据的初始化语句 } @Override public void onCreate(SQLiteDatabase db) db.execSQL(DATABASE_CREATE); 〃建立数据表 initValues(db); 〃初始化数据表 ) @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) ( 〃更新数据库函数 db.execSQL("DROP TABLE IF EXISTS PhoneTbl");//删除 PhoneTbl 数据表 onCreate(db);〃重新创建数据表并初始化数据 ) E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属 性和联系的方法,用来描述现实世界的概念模型。 站点实体E-R图,如图4-1所示。 本系统采用SQLite数据库,这个数据库目前属于相当主流的数据库,本系 统设计了几个数据库表,分别如下设计: 1. 线路表,用于存储公交线路,如表4-1所示。 公交线路查询需要有效快速的相应用户,最快最准确的为用户找到规划好一 条或者多条可供挑选的路径。在整个检索过程中,有且只有道路交通信息是通过 服务器来同步获得,别的规划计算步骤均在移动端实现。 我们来到一个陌生的地方对当地的景点不了解不知道去哪玩,那样既浪费了 精力也浪费了时间也,通过景点推荐将附件景点推荐给游客让游客根据自己喜好 选择自己喜欢的景点。 通过附近搜索功能可以了解附近一些基本信息,例如宾馆、公交等信息。方 便用户快速在景点站住脚,方便其在外旅行,增加用户对软件的依赖感。 用户可以查看指定地点的天气预报,也可以查看当前位置的天气预报。给用 户提供方便,增强与用户的粘合度。 2. 公交车站信息表,用于存储站点信息如表4-2所示。 公交线路查询需要有效快速的相应用户,最快最准确的为用户找到规划好一条或 者多条可供挑选的路径。在整个检索过程中,有且只有道路交通信息是通过服务 器来同步获得,别的规划计算步骤均在移动端实现。 通过附近搜索功能可以了解附近一些基本信息,例如宾馆、公交等信息。方便用户快速在景点站住脚,方便其在外旅行,增加用户对软件的依赖感。 用户可以查看指定地点的天气预报,也可以查看当前位置的天气预
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服