毕业设计(论文)-基于Android的铁路小助手设计与实现.doc_第1页
毕业设计(论文)-基于Android的铁路小助手设计与实现.doc_第2页
毕业设计(论文)-基于Android的铁路小助手设计与实现.doc_第3页
毕业设计(论文)-基于Android的铁路小助手设计与实现.doc_第4页
毕业设计(论文)-基于Android的铁路小助手设计与实现.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

本 科 毕 业 设 计题 目:基于Android的铁路小助手设计与实现基于Android的铁路小助手的设计与实现摘 要:中国地域辽阔,铁路线路纵横交错。随着21世纪经济快速发展,城市化速度加快,我国的交通运输系统不断扩大并复杂化。随着列车客流量的增多,铁路系统经常会出现一些弊端,例如网络繁忙,列车信息繁多,这给追求简单,快节奏生活方式的人们带来许多不便。本课题设计的基于Android的铁路小助手可以帮助人们解决这些生活小问题。此软件为用户提供一个专属自己的火车线路查询系统。系统是使用Java JDK,Eclipse,Google Android SDK,ADT等工具开发。另外,有数据显示,安卓系统的手机占全球智能手机76%的份额,而中国市场的占有率为90%。因此,这大大提高了此软件的使用人群的数量。该系统主要功能包括火车线路的添加,根据车次、站点与站点的查询功能。系统运用的是Android自带数据库SQLite,其简单轻型的特点使其成为优秀的嵌入式数据库管理系统。关键词: Android 查询 铁路 SQLiteRailway Assistant System Based on AndroidAbstract:China has a vast territory. With the rapid economic development of the 21st century, the urbanization rate of China is accelerating and the transport system is expanding and complicated. However, with the increase of train traffic, the railway system often appears some drawbacks. For example, the network is busy, a lot of train information, had bought much inconvenient for some people who pursuit of simple and fast life. the design of this railway assistant project is based on Android system and can help people solve these small problems of their daily life. This software could meet the users individual needs and quick, easy to query. It can provide users with a dedicated train line query system. The development tools of this system are the Java JDK, Eclipse, Google Android SDK, ADT. In addition, the data show that the Android system mobile phone share 76% of global smartphone, while the Chinese market share of 90%. Therefore, this increases the number of people using this software.The main features of this system include the route add function and search function. The system uses the Android own database SQLite, its simple character making it being a good embedded database management system.Key words: Android, Inquiry, Railway, SQLite目 录一 系统分析1(一)可行性分析11 技术可行性分析12 操作可行性分析13 经济可行性分析1(二)系统结构1(三)系统流程21系统数据流图22系统流程图4二 需求分析5(一)系统需求规定51 功能规定52 性能规定6(二)系统运行环境规定71 开发设备72 系统运行支持平台8三 概要设计8(一)系统数据库设计81 数据字典设计82 概念结构设计82.1系统E-R图82.2数据结构图103 逻辑结构设计104 数据库设计11四 详细设计12(一)界面设计121 主菜单设计122查询功能设计132.1站站查询设计132.2车次查询设计132.3车站查询设计143添加功能设计143.1车站添加设计143.2车次添加设计153.3关系添加设计154列车信息显示界面设计155适配器CityAdapter类设计166数据库操作类设计16五 系统测试17(一)测试项目17(二)测试结果及发现181 查询测试182 添加测试193 CityAdapter测试21六、操作使用说明21(一)系统特征描述211程序表21(二)安装使用22总结22参考文献24致谢24一 系统分析(一)可行性分析1 技术可行性分析本系统采用Java JDK+Eclipse+Google Android SDK+ADT+SQLite进行开发。Android是一个开放性移动开发平台,它为开发人员提供了大量的使用库和工具1。它使得开发人员可以快速地创建自己的应用程序。该系统使用的SQLite,是目前最流行的开源嵌入式数据库,易于维护,简单操纵。Android的运用程序可以在其虚拟机上运行,这给开发工作带来了极大的方便。另外,Java语言是可以编写跨平台应用软件的面向对象的编程设计语言2。因此,这样的开发平台保证了系统设计工作在技术上的可行性。2 操作可行性分析本系统是为使用安卓智能手机的用户开发的,用户还可以根据自己的需求在此软件上自行添加相关的列车信息。其次,软件界面简单清洁,美观易懂,方便用户查询列车信息。3 经济可行性分析成本:系统开发仅使用电脑一台,程序开发软件可免费使用,系统开发成本低。效益:该软件可以供安卓手机用户使用,软件布局中有设置动画图片,可以考虑设立广告模块,具有不错的商业效应。(二)系统结构 论文发布系统主要可以分为:系统功能图如下,该系统实现的是查询、添加的功能。查询功能包括站站查询、车次添加、车站查询,添加功能包括车次添加、车站添加、关系添加。用户可以根据自己的需要从三种不同的查询方式查询到想要获得的信息,如果用户发现已有数据中没有自己需要的信息,可在添加功能中自行添加。图1.1 系统功能图Fig.1.1 system function diagram(三)系统流程铁路小助手这个系统数据流图描述了系统用户对该系统的操作。用户可以根据车次,车站的信息进行查询,也可以自行添加需要的列车信息和车站信息。1系统数据流图图1.3 DFD图站站查询系统Fig.1.3 DFD-Station to Station Query system图1.4 DFD图车站查询系统Fig.1.4 DFD-Station Query system图1.5 DFD图车次查询系统Fig.1.5 DFD-Train number Query system图1.6 DFD图车站添加系统Fig.1.6 DFD-Station add system图1.7 DFD图车次添加系统Fig.1.7 DFD-Train line add system图1.8 DFD图关系添加系统Fig.1.8 DFD-relation add system2系统流程图1.2 系统流程图 Fig.1.2 system flow diagram二 需求分析(一)系统需求规定1 功能规定通过对系统的分析,系统主要完成的功能有:站站间查询,中转站查询,车次查询,车站查询,车次添加,车站添加,关系添加。(1) 车站查询: 提供经过该车站的所有车次的查询,包括开车时间,到达时间,列车类型,票价信息的查询。(2) 中转站查询: 提供从起点站到达中转站,然后从中转站到达终点站的所有车次的相关信息查询。(3) 车次查询 提供用户需要查询的车次的起点站、终点站、发车时间、到达时间、票价等信息。(4) 站站查询 提供一个车站到达另一个车站的所有车次的查询,包括开车时间,到达时间,列车类型,票价等信息。(5) 车次添加用户提供列车的车次、起点站及终点站等信息,可实现自主添加车次信息的功能。(6) 车站添加在车次信息中出现的车站必须先进行车站添加,并且提供站名的简称。(7) 关系添加用户添加车次经过某个车站的到站时间和发车时间。男人很多性方面的问题都是sy多了造成的,我当初就因为撸多了,爱爱时间可短了,整天魂不守舍的,去医院被坑了好几千也没起作用,一个哥们给我介绍马中医wx:msdf003治好了,现在精神可好了,爱爱坚持久了,很开心。2 性能规定(1)灵活性本系统可以在安卓系统2.2及以上版本使用,目前市面上安卓手机的操作系统较高版本为4.1。所以该系统面向的用户是绝大多数的安卓手机用户。(2)系统可靠性本系统使用的数据库是一种嵌入式的SQLite,其本身不需要任何初始化配置文件,数据库的使用也没有安装和卸载的过程,并且其运行环境是跟主程序在一个进程空间,所以效率较高。(3)系统适应性系统适用于安卓系统2.2及以上版本。(4)系统安全性系统必须有可靠的安全措施,可维护性好。(5)友好的人机界面为用户提供友好的用户界面,美观大方、操作简便。(二)系统运行环境规定1 开发设备1.1开发设备介绍(1)开发工具:基于Window XP,采用Java JDK+Eclipse+Google Android SDK+ADT组合进行开发(2)Android是基于Java并且在Linux内核上运行的操作系统。Android操作系统是一个轻量级但功能全面的系统,“麻雀虽小五脏俱全”。Android系统采用的思想是整合的,由底层Linux操作系统、中间层的中间件和上层的Java应用程序组成3。安卓的应用程序使用Java语言编写的,Java是面向对象程序设计的理想工具4 。(3)Android工程,Android工程在开发系统中,eclipse结构如下。文件存放目录Src文件夹LCCXActivity.java文件R.javaAndroid Library源文件主程序文件资源文件Java库表2.1 Android工程目录Tab 2.1 Android project directoryres文件夹drawable文件夹layout文件夹values文件夹程序图标布局UI(main.xml)程序用到的String、颜色(string.xml)表2.2 res文件夹结构Tab 2.2 res file structureAndroidMainfest.xml描述应用程序、构成、组件、权限表2.3 AndroidMainfest.xml作用Tab 2.3 AndroidMainfest.xml functionbin文件夹classes.dexLCCXXT.apk自定义的包文件夹编译的java二进制码Android安装包(APK包)存放编译后的字节码文件表2.4 bin文件夹结构Tab 2.4 bin file structure1.2开发设备配置要求(1)计算机具备2.0GHz 以上双核CPU,1GMB以上物理内存;(2)操作系统:Windows XP或更高版本Windows(3)SDK为android-8版本2 系统运行支持平台操作系统:安卓系统2.2或更高版本开发语言:Java数据库:SQLite三 概要设计(一)系统数据库设计1 数据字典设计数据项编号数据项名称别名简述类型长度取值范围1-01列车ID列车编码某个列车在数据库中的ID号码数值型无限制无限制1-02车站ID无某个车站的号码数值型无限制无限制1-03关系ID无某车次与某车站的关系编号数值型无限制无限制1-04列车名称无某个列车的名字text型20字节110201-05车站名称无某个车站的名称text型20字节110201-06车型无列车类型text型20字节110201-07票价无列车票价text型10字节110101-08发车时间无列车的出发时间text型20字节11020表3.1 数据字典Tab 3.1 data dictionary2 概念结构设计2.1系统E-R图(1) 列车表:存储列车的基本信息,E-R图:图3.1列车表E-R图Fig.3.1 E-R-train table(2) 列车类型,E-R图:图3.2类型E-R图Fig.3.2 E-R-train type(3) 票价的基本信息,E-R图:图3.3票价E-R图Fig.3.3 E-R-Price(4) 车站表:存储车站的基本信息,E-R图:图3.4车站表E-R图Fig.3.4 E-R-station table(5) 关系表(车站与车次的关系表):存储关系的基本信息;E-R图:图3.5关系表E-R图Fig.3.5 E-R-relation table2.2数据结构图图3.6数据结构图Fig.3.6 E-R-data structure diagram3 逻辑结构设计列车表是用来存储列车的详细信息的数据表,内容如表3.1所示: 表项注释英文名称列车编号每个列车对应一个唯一的编号(主键)Tid列车名字列车的名称Tname始发站列车出发的车站Tstartstation终点站列车到达的车站Tterminus列车类型列车的类型Ttype二等票价二等车票的价格Tprice一等票价一等车票的价格Tprice2表3.2 列车表Tab 3.2 train table车站表是用来车站的属性的,内容如表3.2所示: 表项注释英文名称车站编号每个车站对应一个唯一的编号(主键)Sid车站名字车站的名称Sname车站的简称车站的拼音简称Spy表3.3 车站表Tab 3. station table关系表是用来存放车站与车次关系的详细信息,内容如表3.3所示:表项注释英文名称关系编号每个车次与车站间的关系编号(主键)Rid车站编号每个车站对应一个唯一的编号Sid列车编号每个列车对应一个唯一的编号Tid到站时间某列车到达某站的时间Rarrivetime发车时间某列车在某站的出发时间Rstarttime表3.4 关系表Tab 3.4 relation table4 数据库设计该系统使用的是Android自带的数据库SQLite,一个对于所有应用程序可用、功能强劲的轻型关系型的数据库。SQLite占用的资源非常低,可能只需要几百K的内存就足够,而且处理数据的速度非常快2。使用SQLite DataBase Browser可以查看从Eclipse中的DDMS中的Data文件下导出的数据库文件。下列出是该数据库中主要表的结构图。表名列名类型stationTidinteger Primary KeyTnamechar(20)Tstartstationchar(20)Tterminuschar(20)Ttypechar(20)Tpricechar(10)Tprice2char(10)stationSidinteger Primary KeySnamechar(20)Spychar(10)relationRidinteger Primary KeyTidintegerSidintegerRarrivetimechar(20)Rstarttimechar(20)表3.4数据库结构图Tab 3.4 database structure创建数据库采用creattable()方法创建三张表,包括Train表,station表,relation表。其主要的语句有:create table if not exists train + (Tid integer primary key,Tname char(20), +Tstartstation char(20),Tterminus char(20),Ttype char(20), TPrice char(10), Tprice2 char(10), /建立train表create table if not exists station(Sid integer primary key, +Sname char(20),Spy char(10),/建立station表create table if not exists relation +(Rid integer primary key,Tid integer,Sid integer,Rarrivetime +char(20),Rstarttime char(20),/建立relation表四 详细设计根据对系统需求的分析,将系统划分成两大模块,包括查询和添加模块。(一)界面设计1 主菜单设计主菜单MainMenu布局的左边由四个Button组成,程序用setOnClickListener()方法分别为这四个按钮添加了监听,用户一点击任何一个按钮,监听功能便会将界面切换到相应界面。主菜单的布局右边中是由自定义控件GGView类来实现自定义动画循环播放的效果,图片是中国各大旅游热点的景点图片。图4.1主菜单图Fig.4.1 mianmenu interface2查询功能设计2.1站站查询设计站站查询goTozzcxView方法中,左边三个车站的输入框都用iniTLisitarray()的方法为文本框添加适配器,并为“查询”和“返回”两个Button添加监听。获取文本框的内容之后,如果查询结果为空,便置空文本框,并发Toast信息通知用户,若不为空,则创建存放查询结果的数据,并用循环向量将查询结果放入数组,界面跳转至 ListView界面显示查询结果。布局右边中是由自定义控件GGView类来实现自定义动画循环播放的效果。图4.2站站查询界面图Fig.4.2 station to station inquiry interface2.2车次查询设计车次查询goTocccxView方法中,获取文本框中的信息,若无相关信息,发Toast信息通知用户,否则,查询结果用for循环将向量中的数据导入数组中,界面跳转至 ListView界面显示查询结果。布局右边中是由自定义控件GGView类来实现自定义动画循环播放的效果。 图4.3车次查询界面图Fig.4.3 train line inquiry interface2.3车站查询设计车站查询goToczcxView方法中,车站的输入框都用iniTLisitarray()的方法为文本框添加适配器,为“查询”和“返回”两个Button添加监听。获取文本框的内容之后,如果查询结果为空,便置空文本框,并发Toast信息通知用户,若不为空,则创建存放查询结果的数组,并用循环向量将查询结果放入数组,界面跳转至 ListView界面显示查询结果。布局右边中是由自定义控件GGView类来实现自定义动画循环播放的效果。图4.4车站查询界面图Fig.4.4 station inquiry interface3添加功能设计添加功能goTofjgnView中,布局的左边设置三个Button ,用setOnClickListener()方法分别为这三个按钮添加了监听,用户一点击任何一个按钮,监听功能便会将界面切换到相应界面。图4.5添加界面图Fig.4.5 addittion interface3.1车站添加设计车站添加goTocztjView,获取添加按钮引用,从station表中取出Sid列中最大值,获取名称及简称,检查简称文本框中是否都为字母,否则发Toast信息提醒用户简称文本框必须输入字母。查询该车站若存在,若存在,发Toast信息通知用户,不存在则将数据插入station表。图4.6车站添加界面图Fig.4.6 station add interface3.2车次添加设计车次添加goTocctjView,获取输入框文本,从数据库中获取最大的ID并加1,生成SQL语句查询Train表中是否已存在该列车,若存在则发Toast信息,若不存在则在Train表中插入用户需要的列车信息。图4.7车次添加界面图Fig.4.7 train line add interface3.3关系添加设计关系添加goTogxtjView,获取输入框文本,从数据库relation表中中获取最大的RID,查询表中是否已存在该列车,若存在则发Toast信息,若不存在则在relation表中插入列车关系。图4.8关系添加界面图Fig.4.8 relation add interface4列车信息显示界面设计列车信息显示界面goToListView,显示列表框中的内容数组,得到ListView的行数并每一项创建一个LinearLayout,并对每一个列表设置监听。根据车次文本进行查询,将查询存放结果向量的数组,并用for循环将向量中的内容导入数组。图4.9列车信息显示界面图Fig.4.9 train information display interface详细显示界面goToPassStationView,当点击ListView中的每一行,设置在上面的监听便会切换到详细情况显示模块。图4.10途径车站信息显示界面图Fig.4.10 passstation information display interface5适配器CityAdapter类设计该类的作用是使得用户在输入车站名称时,会出现提示信息,在一个下拉框中显示用户可能要输入的车站名,这样不但提高了输入效率,而且也使得界面更加友好。图4.11适配器作用显示界面图Fig.4.11 CityAdapter interface6数据库操作类设计数据库的操作类LoadUtil.java,该类主要对数据库SQLite进行操作,其程序主要框架是;五 系统测试(一)测试项目测试项目测试名称操作(输入数据)预期结果查询功能车站查询站名为空显示“车站不能为空”数据库不存在站名“拉萨”显示“没有相关消息”数据库存在站名“广州”跳转到ListView界面,显示列车信息站站查询出发站名为空显示“出发站不能为空”终点站站名为空显示“终点站不能为空”数据库不存在的车次“广州-拉萨”显示“没有相关列车信息”站名“广州”跳转到ListView界面,显示列车信息车次查询车次为空显示“车次不能为空”数据库不存在车次“001”显示“没有相关信息”数据库不存在车次“4419”跳转到ListView界面,显示列车信息添加功能车站添加车站名称为空,车站简称“ls”显示“车站名称不能为空”车站名称“拉萨”,车站简称为空显示“车站简称不能为空”车站名称“拉萨”,车站简称为“ls”显示“恭喜你,车站添加成功”第二次输入,车站名称“拉萨”,车站简称为“ls”显示“对不起,已经有了此车站”车次添加输入框全部为空显示“车名不能为空”车次“K11”,其余为空显示“列车类型不能为空”列车类型“动车”,其余为空显示“车名不能为空”始发站“北京”,其余为空显示“车名不能为空”终点站“广州”,其余为空显示“车名不能为空”二等票价“800”,其余为空显示“车名不能为空”一等票价“1220”,其余为空显示“车名不能为空”车次“K11”,列车类型“动车”,始发站“北京”,终点站“广州”,二等票价“800”,一等票价“1220”显示“恭喜你,添加成功”再次输入:车次“K11”,列车类型“动车”,始发站“北京”,终点站“广州”,二等票价“800”,一等票价“1220”显示“对不起,已经有了此车次”关系添加输入框全部为空显示“车名不能为空”车次“K11”,其余为空显示“车名不能为空”车次“K12”,站名“北京”发车时间“11:00”显示“恭喜你,添加成功”再次输入:车次“K12”,站名“北京”发车时间“11:00”显示“对不起,该关系已存在”表5.1基本功能测试项目Tab.5.1 function test测试名称操作(输入数据)预期结果CityAdapter车站文本框输入“bj”出现下拉框有选项“北京”车站文本框输入“sh”出现下拉框有选项“山海关,上海”车站文本框输入“jm”不会出现下拉框表5.2适配器测试项目Tab.5.2 CityAdapter test(二)测试结果及发现测试结果显示:通过对本系统进行的多次的测试,系统正确实现列车信息查询,添加等操作,实现了之前的系统需求。在测试过程中对系统出现的微小漏洞进行修补,保证了系统运行的稳定性。当然,在整个系统功能还存在着不足,这些问题还需要逐一解决。与此同时,这个软件还可以进一步扩展,带给用户更好的体验与生活的便捷。1 查询测试图5.1车站为空查询测试结果Fig.5.1 Station empty query test图5.2车站查询失败测试结果Fig.5.2 Station query failed test2 添加测试图5.3车站添加成功测试结果Fig.5.3 station successfully added test图5.4车次添加成功测试结果Fig.5.4 train line successfully added test图5.5关系添加成功测试结果Fig.5.5 relation successfully added test图5.6关系添加失败测试结果Fig.5.6 relationship Failed to add test图5.7关系添加失败测试结果Fig.5.7 relationship Failed to add test3 CityAdapter测试图5.8 CityAdapter测试结果Fig.5.8 cityadapter test六、操作使用说明(一)系统特征描述1程序表名称作用说明界面主类LCCXActivity.java用户进行不同操作时切换相应界面和实现相应的功能,并根据对界面的操作发送相应的消息或者进行相应的处理数据库创建类CreatTable.java创建数据库和初始化一些数据,用户使用时,可以根据需要自行添加数据数据库操作类LoadUtil.java

温馨提示

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

最新文档

评论

0/150

提交评论