【Android论文栏目提醒】:网学会员在Android论文频道为大家收集整理了“ANDROID平台公交查询工具 - 毕业设计“提供大家参考,希望对大家有所帮助!
本科生毕业设计(
论文)题 目:
ANDROID 平台公交查询工具的 设计与实现专 业:年 级:指导教师: 独创性声明 本毕业设计(
论文)是我个人在导师指导下完成的。
文中引用他人研究成果的部分已在标注中说明;其他同志对本设计(
论文)的启发和贡献均已在谢辞中体现;其它内容及成果为本人独立完成。
特此声明。
论文作者签名: 日期: 关于
论文使用授权的说明 本人完全了解福州大学至诚学院有关保留、使用学位
论文的规定,即:学院有权保留送交
论文的印刷本、复印件和电子版本,允许
论文被查阅和借阅;学院可以公布
论文的全部或部分内容,可以采用影印、缩印、数字化或其他复制手段保存
论文。
保密的
论文在解密后应遵守此规定。
论文作者签名: 指导教师签名: 日期:
ANDROID 平台公交查询工具 摘要 出行一直是人们日常生活中不可或缺的一部分。
就目前情况而言,公交车仍是大多数人出行的首选的交通工具。
人们的出行是无时无刻不在的,web 查询服务无法满足人们突发、即时的查询。
但随着手机的普及,功能的强大,使用的方便,它已成为人们生活工作中获取各种信息的主要途径之一,借助于无线互联网,人们可以直接通过手机随时随地地查找公交线路的信息,进一步提高公交的服务水平。
本毕业设计主要是以福州公交线路为主进行设计的系统,它基于
android 平台开发的,利用 Eclipse 开发工具,主要以 JAVA 语言编写,以及
Android 的一些控件,选择 SQLite作为目标数据库,应用 SQL 语言实现对数据库的操作,地图部分使用谷歌地图。
它主要实现的功能有换乘查询,将乘车的次数默认设置为三,将乘车次数最少的方案显示在最前面,还有线路查询和站点查询功能,不仅能显出查询的结果,而且还能够根据用户选择的线路实现电子地图的显示,使系统更加直观。
本文详细地介绍了开发该系统所要用到的技术,接着介绍各个功能的概述和数据库的设计,然后是讲解系统各个功能实现的详细过程,尤其是详细地介绍了在 Google map 地图基础上的各个图层的开发,最后展示成品的最终结果,指出自己系统存在的不足之处。
关键字:
Android,SQLite,Google map IDesign and Implementation of a Bus Routes Search Tool for
Android Platform Abstract It is indispensable to going out in our daily life. In the light of present situation bus is stillthe first choice for most people. People may go out all the time hence web search service cannot satisfy the sudden and immediate demands. As mobile phones become widespreadmultifunctional and convenient it has been an important way to get information through thewireless Internet in our life. We can directly get information about bus routes through the mobilephones at all times and all places. The bus service quality will further improved. This graduation project is a system designed for Fuzhou’s bus routes. It is developed basedon
Android platform and written in JAVA language. It utilizes Eclipse development tool somebasic combination controls of
Android system and Google map. It takes SQLite as targetdatabase and is operated by SQL language. One of its major functions is to search the changes ofrides. It takes ‘3’ as the default value of ride times. The program with the least times will beshown at the first. It can also search the routes and bus stations. It not only gives the results butalso shows them on the electronic map according to the users’ choices which makes the systemmore visual. This thesis elaborates the technologies used in the system their functions and the design ofdatabase. Then it explains the implementation process of every function especially thedevelopment of each picture layer based on Google map. Lastly it shows the final result of theproject and point out its shortages.Key words:
Android SQLite Google map II 目 录第 1 章 绪论................................................................. 1 1.1 研究背景 ............................................................ 1 1.2 研究现状 ............................................................ 1 1.3 研究目的及意义 ...................................................... 2 1.4 本次课题研究内容 .................................................... 2 1.5 本文组织结构 ........................................................ 2第 2 章
Android 相关技术背景介绍 ............................................. 3 2.1
Android 操作系统简介................................................. 3 2.1.1
Android 简介 ................................................... 3 2.1.2
Android 的特点 ................................................. 3 2.1.3
Android 架构 ................................................... 3 2.2 SQLite 简介.......................................................... 4 2.3
Android 布局管理器................................................... 5 2.4
Android 基本组件介绍................................................. 5 2.4.1 Activity 简介 .................................................. 5 2.4.2 Intent 简介 .................................................... 6 2.5 Toast 的使用......................................................... 7 2.6 Google Map 介绍...................................................... 7第 3 章 系统总体结构设计..................................................... 8 3.1 系统主要功能模块 .................................................... 8 3.2 数据库设计 .......................................................... 8 3.2.1 数据库概念模型设计............................................. 8 3.2.2 数据库表设计................................................... 9 3.2.3 数据库的相关操作.............................................. 10第 4 章 公交系统的实现...................................................... 11 4.1 欢迎界面的实现 ..................................................... 11 4.2 主要功能的实现 ..................................................... 11 4.3 Google Map 的使用................................................... 15 4.3.1 地图开发的前期准备............................................ 15 4.3.2 地图的初始化.................................................. 16 4.3.3 地图图层的开发................................................ 16第 5 章 整体测试与分析改进.................................................. 18 III 5.1 截图及运行说明 ..................................................... 18 5.2 软件可以改进之处 ................................................... 23结论....................................................................... 24参考文献................................................................... 25谢辞....................................................................... 26附录 1 部分关键源码及解释 .................................................. 27 IV
ANDROID 平台公交查询工具 第 1 章 绪论1.1 研究背景 随着城市规模的逐步扩大,使整个城市的交通干道越来越复杂。
在这种情况下,城市公共交通运输以其覆盖面广、经济、快捷的特点,成为绝大多数出行者的首选方式,也是各地城市政府大力推荐的一种出行方式。
因为它从很大程度上缓解了交通压力,改善了交通状况。
要想提高公交服务的水平的途径很多,其中很重要的一条途径就是提高智能公交系统的建设。
但是我国城市公交车查询系统的发展还处于一个相对落后的水平,广大乘客可以获取公车线路的方式很少,而且线路的完整性、准确性及实时性无法得到保证。
1.2 研究现状 国外许多国家都十分重视公交查询的研究和应用。
其目的在于通过提供及时准确的信息和服务,吸引更多的出行者使用公共交通,促进公交的大力发展,减缓城市的交通压力。
尤其是美国,他们的研究取得了较好的效果。
他们发展公交查询系统的特点是能够提供快捷、方便的电话咨询服务;与定位技术相结合,提供实时信息服务;触摸屏在公共场所的广泛使用以及查询与网络的结合。
欧洲一些国家,如芬兰、意大利等,他们在研究公交查询方面也取得了不小的成果。
近年来,我国的公交查询系统也在迅速地发展,不少城市也都有拥有公交线路查询系统,网络上也可以下载到许多不同的版本。
不过公交查询系统在发展的同时也存在一些问题,需要不断地改进和完善。
比如早期的公交查询系统脱离了网络,只是一种供人下载后方可查询的程序,是一种单机程序。
这样的信息不够准确,也不够及时。
有一部分公交查询系统,它们只是简单地将各个线路和站点的信息一一罗列出来,让用户自己去一条条查找。
而真正意义上的公交查询系统应该是用户输入想要查询的内容,系统能够自动查询出结果,而不是靠用户人工进行查询。
还有一部分网上的公交查询系统,它们的系统功能比较完善,实现站点、线路查询以及换乘查询,更加完善一点的系统还有电子地图查询等功能,但是对城市有代表性的地点介绍和查询的功能,做得好的比较少。
还有就是手机上的公交查询系统,可以采用短消息的形式进行查询,但也有一定的局限性。
硬件方面,比如遇到服务器、网络繁忙时或者信号盲区,导致用户请求长时间得不到回应。
软件方面,运营商不一定提供此类的查询服务。
1 福州大学至诚学院本科生毕业设计
论文 现行的公交车系统或多或少都还是存在一些缺陷的。
但是随着技术的更新以及不断的改进,相信可以做出更人性化、更完善的公交查询工具。
1.3 研究目的及意义 出行是人们日常生活中不可或缺的一部分,而公交车是大多数人出行首选的交通工具,如何才能随时随地、方便快捷的获取公交线路的信息,合理安排自己的出行线路,是很多人非常关心的问题。
建设智能公交系统,利用当代高新技术:电子、信息、通信、计算机、GPS、GIS 等,将交通系统中的人、交通设施和交通工具有机的联系起来,建立智能公交系统,如公交优先系统、公交查询系统、智能化行车系统等,为乘客提供实时的更多更全面的出行信息,更好的为乘客服务1。
在智能公交系统中,公交查询系统的服务是目前最贴近乘客日常生活的,也是最能让乘客亲身体会公交服务水平高低的方面。
因此,如何给乘客提供一个良好的平台,让乘客选择或是推荐合适的乘车方案出行,以节约乘车时间,缩短到达目的的乘坐距离,减少乘坐的票款成本,才是提高公交服务水平最值得关注的问题之一2。
越来越多的人倾向通过上网获得和共享信息,随着网络应用的普及而不断的发展,Internet 的应用成了世人关注的焦点3。
智能公交查询系统既提供全面的公交信息,更具有实用性、便利性、多样性。
因此我们提出开发并设计了一个基于
Android 平台的公交查询系统。
用户可以在任意一款
Android 手机中安装此工具。
通过此查询工具可以查看线路,查找任意两地的乘车方案等,更方便用户出行,节约时间,减缓交通压力。
1.4 本次课题研究内容 本次毕业设计要研究的内容是学会界面的设计,进行数据库的设计并学会使用 SQLite数据库,学会在 Google Map 的基础上进行地图开发。
1.5 本文组织结构 第二部分为关键技术介绍,主要介绍本系统中所涉及到的主要关键技术,第三部分是关于系统总体结构设计,主要介绍系统的功能模块和数据库。
第四和第五部分就是系统详细及测试结果等,然后对整个毕业设计进行了总结,最后部分为致谢。
2
ANDROID 平台公交查询工具 第 2 章
Android 相关技术背景介绍2.1
Android 操作系统简介 2.1.1
Android 简介
Android 是 Google 在 2007 年 11 月宣布的基于 Linux 平台的开源手机操作系统的名称,而在
Android 系统底层方面,
Android 使用 C/C作为开发语言4。
该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的解决方案。
2.1.2
Android 的特点
Android 系统就是一个开发式的手机和平台电脑操作系统5,早期由 Google 开发,后由开放手机联盟开发6。
它提供了从底层操作系统到上层的程序界面的所有软件,使用这个平台无需缴纳任何的授权许可费用,同时不同的厂商还可以根据自身的需求修改和扩展
Android 平台。
在
Android 平台下,除了应用程序运行的载体虚拟机之外,所有的
Android 应用程序之间是完全平等的。
所有的应用程序都运行在虚拟机上面,虚拟机提供了一系列用于应用程序和硬件资源间通信的 API。
Android 打破了应用程序之间的界限,在
Android 平台下开发应用程序,可以很方便的实现应用程序之间的数据共享。
一个应用程序不但可以通过 7API 访问系统提供的功能,还可以通过申明自身的功能供其他应用程序调用 。
Android 为开发人员提供了大量的使用库和工具,使得开发人员可以快速地创建自己的应用程序。
例如
Android 将著名的 Google Map 集成进来,开发人员通过简单的几行代码就可以快速的开发出基于地图的应用。
2.1.3
Android 架构 图 2-1 显示的是
Android 操作系统的主要组件。
Android 同一个核心应用程序包一起发布,该应用程序包括 email 客户端,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等。
所有的应用程序都是用 Java 编写的。
Android 应用程序框架即开发者也完全可以访问核心应用程序使用的 API 框架。
该应用程序架构用来简化组件软件的重用:任何一个应用程序都可以发布它的功能模块并且任何其他的应用程序都可以使用其所发布的功能模块(不过得遵循框架的安全性限制)。
该应用程序重用机制使得组件可以被用户替换8。
3 福州大学至诚学院本科生毕业设计
论文 图 2-1
Android 系统架构图2.2 SQLite 简介 SQLite 是一款轻型的数据库,是遵守 ACID 的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入 可能只需要几百 K 的内存就够了。
式设备中,
Android 在运行时(run-time)集成了 SQLite,所以每个
Android 应用程序都可以使用 SQLite 数据库。
SQLite 支持多数 SQL92 标准,很多常用的 SQL 命令都能在 SQLite 上面使用,除此之外
Android 还提供了一系列自定义的方法去简化对 SQLite 数据库的操作9。
SQLite 由以下几个组件组成:SQL 编译器、内核、后端以及附件。
SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展 SQLite 的内核变得更加方便。
SQLite 和其他数据库最大的不同就是对数据类型的支持,创建一个表时,可以在CREATE TABLE 语句中指定某列的数据类型,但是你可以把任何数据类型放入任何列中。
当某个值插入数据库时,SQLite 将检查它的类型。
如果该类型与关联的列不匹配,则 4
ANDROID 平台公交查询工具SQLite 会尝试将该值转换成该列的类型。
如果不能转换,则该值将作为其本身具有的类型存储10。
2.3
Android 布局管理器
Android 本身是一个权限分立的操作系统。
在这类操作系统中,每个应用都以唯一的该系统主要用到的布局有线性布局和帧布局。
(1) LinearLayout 类 线性布局是最简单的布局之一。
android:orientation 可以设置线性布局的朝向,可以是水平(horizontal)或者垂直(vertical)两种排列方式。
同时使用
android:gravity设置控件的对齐方式,还可以通过设置控件的 weight 参数控制各个控件在容器中的相对大小。
(2) FrameLayout 类 FrameLayout 帧布局在屏幕上开辟出了一块区域,在这块区域上可以添加多个子控件,但是所有的子控件都被对齐到屏幕的左上角。
帧布局的大小由子控件尺寸最大的那个子控件来决定。
如果子控件一样大,同一时刻只能看到最上面的子控件,因为在 FrameLayout中,子控件是通过栈来绘制的 11。
2.4
Android 基本组件介绍 2.4.1 Activity 简介 Activity 是
android 最常用的组件,是应用程序的表示层,Activity 一般通过 View来实现应用程序的用户界面,相当于一个屏幕,用户与程序的交互是通过该类实现的。
Activity 类创建了一个窗口,开发人员可以通过 setContentViewView接口把 UI 放到 activity 创建的窗口上,当 activity 指向全屏窗口时,也可以用其他方式实现:作为漂浮窗口(通过 windowIsFloating 的主题集合),或者嵌入到其他的 activity(使用ActivityGroup)12。
如图 2-2 所示,Activity 的生命周期主要包含三个状态,各种状态之间的切换是通过各种回调方法实现。
处于运行态的 Activity 拥有焦点,正在与用户进行交互,该状态的Activity 可以为用户提供信息并接收用户的事件响应。
而处于暂停态的 Activity 失去了焦点,一般被运行态的 Activity 替代,当前台显示的 Activity 不是全屏时,可以见到暂停态的 Activity。
而处于停止态的 Activity 没有焦点,并且是不可见的,系统可以随时将其释放。
5 福州大学至诚学院本科生毕业设计
论文 图 2-2 Activity 生命周期 2.4.2 Intent 简介 所谓 Intent,就是一种运行时的绑定机制,在应用程序运行时连接两个不同的组件。
一般的应用是通过 Intent 向
android 系统发出某种情求或者意愿,然后
android 系统会到根据请求查询各个组件声明的 IntentFilter,找到需要的组件并运行它。
Activity、Service 和 BroadcastReceiver,他们都是通过 Intent 机制激活的,不同类型的组件有传递 Intent 的不同方式13。
而本系统中就是要激活一个新的 Activity,可以通过调用 Context.startActivity方法。
这个方法需要传入的 Intent 参数也称为Activity Action Intent活动行为意图,为了能够使用该方法,所有的 activity 类都必须在 AndroidManifest.xml 文件中定义有相关的“activity”项。
然后根据 Intent 对象对目标 Activity 描述的不同,来启动与之相匹配的 Activity 或者传递信息。
6
ANDROID 平台公交查询工具2.5 Toast 的使用 Toast 向用户提供比较快速的即时消息,当 Toast 被显示时,虽然其悬浮于应用程序的最上方,但是 Toast 从不获得焦点。
因为设计 Toast 时就是为了让其在提示有用信息时尽量不显眼。
比如:提示用户某些输入为不合法输入等。
Toast 对象的创建是通过 Toast 类的静态方法 ma.