毕业设计(论文)-基于安卓的机票查询系统.docx

上传人:good****022 文档编号:116829085 上传时间:2022-07-06 格式:DOCX 页数:27 大小:719.51KB
返回 下载 相关 举报
毕业设计(论文)-基于安卓的机票查询系统.docx_第1页
第1页 / 共27页
毕业设计(论文)-基于安卓的机票查询系统.docx_第2页
第2页 / 共27页
毕业设计(论文)-基于安卓的机票查询系统.docx_第3页
第3页 / 共27页
点击查看更多>>
资源描述
本科毕业论文(设计) 题 目 基于安卓的机票查询系统 院(系) 信息工程学院 专 业 网络工程 学生姓名 学 号 指导教师 职称 讲师 论文字数 7649 完成日期: 2016年 5月20日巢湖学院本科毕业论文(设计)诚信承诺书本人郑重声明:所呈交的本科毕业论文(设计),是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。本人签名: 日期: 巢湖学院本科毕业论文 (设计)使用授权说明本人完全了解巢湖学院有关收集、保留和使用毕业论文 (设计)的规定,即:本科生在校期间进行毕业论文(设计)工作的知识产权单位属巢湖学院。学校根据需要,有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许毕业论文 (设计)被查阅和借阅;学校可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编毕业,并且本人电子文档和纸质论文的内容相一致。保密的毕业论文(设计)在解密后遵守此规定。本人签名: 日期: 导师签名: 日期: 基于安卓的机票查询系统摘要在当今社会快速的发展下,人们外出方式也变得多种多样,从祖先一辈的马车,轿子等发展到如今的汽车,轮船,机动车等,但是如果你想快速到达目的地,最节省时间的方法就必须是乘坐飞机了,如果我们能够快捷迅速的获取机票的信息,那么就可以使人们出行更加方便。为什么有很多人选择使用手机查询机票的信息,首先,手机现在已广泛应用于公众,几乎每个人都有手机,所以在手机的应用上查询信息会更受欢迎,其次,网上包含有大容量的信息,网上订单的人可以对各种信息一目了然,如列车信息,路程信息,车票可售等,因此可以更加方便用户的查询。最后,安卓平台在近几年的发展如日中天,占据市场份额也十分庞大,甚至可以与iphone平台相抗衡。而该基于安卓的机票查询系统正是在此背景应用而生。随着航天技术,移动通信技术,互联网技术和移动终端技术的飞速发展,使人们在快节奏的经济生活中,可以快速,准确地获取最新的信息,大大方便了人们的基本需求。关键字:android 机票查询;1The airticket query system based on androidAbstractIn todays rapid development of society, the way people go out becomes diverse, from their ancestors a generation wagon, sedan chair and other development to todays cars, ships, motor vehicles, etc., but if you want to quickly reach the destination, most savings the method of time must be flying, and if we are able to quickly obtain fast and ticket information, then you can make people travel more convenient. Why do many people choose to use the mobile phone inquiry ticket information, first of all, mobile phones are now widely used in public, almost everyone has a cell phone, so queries on the phone application information will be more popular, and secondly, the Internet contains a large capacity information, people can order online all kinds of information at a glance, such as train information, routing information, tickets can be sold, etc., it can be more convenient to the users query. Finally, the Android platform in recent years, the development of a flourishing, occupy market share is very large, even with the iphone platform to compete. The Flight of the Android-based system is in this context of the application for us. With the rapid development of space technology, mobile communications technology, the Internet and mobile terminal technology, so that people in the fast-paced economic life, can quickly and accurately obtain the latest information, greatly facilitate the peoples basic needs.Keywords: android ,Flight;2目录第1章 概述11.1 课题产生背景11.2 系统的开发意义1第2章 开发环境及技术介绍22.1 开发工具eclipse的简介22.2开发环境的搭建22.3 SQLite数据库的介绍3第3章 系统分析43.1 系统可行性分析43.1.1技术可行性43.1.2经济可行性43.1.3操作可行性43.2 系统需求分析53.3 系统功能结构53.3.1系统设计原理框图53.3.2系统设计功能模块图63.3.3数据库E-R图7第4章 数据库设计84.1 普通用户表84.2 用户登录表84.3 航班信息表84.4 用户操作记录表9第5章 功能实现与测试105.1 登录界面105.2注册界面115.3 数据库部分代码135.4系统设置155.5 机票查询界面165.6 查询结果展示175.7 系统功能测试18第6章 结论19参考文献20致谢21巢湖学院2016届本科毕业论文(设计)第1章 概述1.1 课题产生背景随着人们生活质量的慢慢提升,在出行交通工具的选择上,越来越多的人都会选择乘坐飞机。根据调查显示,我国民用航空局数据上,2012年以来,因为受外部经济的影响,各种行业都增速趋缓。2012年一个季度,我国民航运输总周转量、旅客运输量、货邮运输量分别为140.5亿吨公里、7422.1万人,120.0万吨,同以前相比增长了4.9%、10.2%、-7.4%。其中,客运市场需求非常旺盛,旅客运输量一直保持较快的增长趋势。一个季度旅客的运输量为甚至达到了7422.1万人,同比增长了10.2%,并且还继续保持较快增长势头。其中,国内航线、港澳台航线、国际航线同以前相比分别增长了10.3%、11.2%、8.5%。2012年3月份,国内航线旅客运输量同比增长了8.3%,跟上个月比较减少了0.9个百分点,一个季度同比增长了10.3%,跟去年同期相比增加1.2个百分点;国际航线旅客运输量同比增长12.8%,跟上个月相比增加了11.4个百分点,一季度同比增长8.5%,与去年同期相比减少3.8个百分点。至2020年,我国布局规划民用机场的总数达到了244个,其中新增加得机场有97个。从上述情况中不难看出,中国正处在民航需求迅速增长的时期。 乘坐飞机能够极大的缩短人们的出行时间并给人们带来一段舒适的旅程,但是在查询航班信息这方面,选择起来往往是比较局限的,大多数人们都是通过电话或者网络来查询,例如拨打电话12580或者登录芒果网等,而今几乎人人都拥有着一部手机,我们完全能够通过使用移动设备来查询机票的信息了。1.2 系统的开发意义机票查询系统是为给客户提供机票信息的和管理的系统,它是具有开放体系结构、方便扩充、方便维护的、具有良好人机交互界面等方面的的优点.它不仅克服了存储乘客信息量少,查询效率低下等问题外,更解决了其安全性,可靠性方面的问题。为便于旅客查询机票信息,要求系统能有效、快速、安全、可靠等特点。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。3第2章 开发环境及技术介绍2.1 开发工具eclipse的简介Eclipse是著名的跨平台的自由 集成开发环境(IDE)。最初主要用来 Java语言开发,通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C+和Python等开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse 最初由OTI和 IBM两家公司的IDE产品开发组创建,起始于1999年4月1。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。Eclipse项目IBM发起,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括 Borland、Rational Software、 Red Hat及 Sybase等。Eclipse是一个开放源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的 Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注2。随后还有包括Oracle在内的许多大公司也纷纷加入了该项目,Eclipse的目标是成为可进行任何语言开发的IDE集成者,使用者只需下载各种语言的插件即可2。2.2开发环境的搭建先下载所需要的JDK,安装之后再配置环境变量path,让javac和java等命令可以在任何路径下运行,右击我的电脑-属性-高级系统设置-环境变量-在系统变量中找到path变量,修改它的值,在最后加上jdk的bin路径:多个路径之间用分号;分割,如果最后一个路径没有分号;,就加上,然后复制黏贴JDK目录下bin目录的路径。完成后重启ms-dos窗口,并验证:开始菜单-运行(windows键+R)-cmd 键入javac -version验证是否安装好JDK。环境变量JAVA_HOME创建一个名为JAVA_HOME的环境变量,值写为JDK安装目录的根路径;我们可以在path环境变量的值中使用它,改为%JAVA_HOME%bin,这样写更加简洁,更灵活,更安全3。环境变量CLASSPATH类路径在执行.class文件时要到类路径下找到这个类,一般配置为.;%JAVA_HOME%lib(这个环境变量可以不配置,但是一旦配置一定要配对,尤其不能忘记加上.表示当前路径3。2.3 SQLite数据库的介绍数据库的种类有很多,我这里用到的是SQLite数据库,它是一种轻量级的数据库,一个开源的嵌入式的数据库产品,SQLite具有一些很好的特性,如检索效率高,系统开销小等,它不需要独立运行的引擎,而是由程序直接调用相应的API去完成对数据的一些增删改查等操作4。更简单的来说,嵌入式数据库就是一种具有基本数据库功能的数据文件。它与其它数据库产品室友区别的,前者是通过程序驱动的方法, 而后者则是通过引擎响应的方式5。嵌入式数据库还有一个很重要的优点,那就是体积非常小,并且很多的嵌入式数据库在性能上也优于其它的数据库,所以嵌入式数据库也经常使用在高性能的应用上。SQLite是没有数据类型的数据库。但是在生成表结构的时候,还是要声明每个域的数据类型的,不过SQLite并不会做任何检查处理6。开发人员必须靠自己的程序来控制输入与读出的数据类型是正确的。但是这里有一个例外,就是当主键为整型时,插入进去一个非整型值时则会产生异常。第3章 系统分析3.1 系统可行性分析可行性研究,也称为可行性分析,是基于系统的调查、研究和新系统的开发在技术,经济,社会等方面的可能性和必要性来进行分析,这样不仅是为了避免投资失误,也是为了确保新系统的成功开发7。可行性研究的最终目的是想用最小的成本来确定该问题是否能在最短的时间内解决掉。该系统的可行性的分析包括以下几个方面:3.1.1技术可行性技术可行性分析是根据技术层面来分析开发工作的顺利完成的需要的主要条件,如硬件和软件能否满足开发商等需求。该系统所需的各种软件环境是否具备,例如Eclipse开发工具,数据库服务器。两者都能够处理数据,并且可以保持数据的完整性,还提供了许多先进的管理功能。它的灵活性,安全性和易用性等方面特点为数据库的设计提供了良好的条件。综上所述,该系统的软件开发平台已经是成熟可行,可以用于开发。3.1.2经济可行性由于在此设计里的开发环境和数据库都是采用的免费的产品,并且在设计过程中没有涉及到技术难点和版权问题,初期投入资金比较小,维修费用也比较小,所以在无论是在技术方面和还是在经济方面都是可以实现的,且具有很强的可行性。3.1.3操作可行性操作可行性主要是指在系统开发完成后,客户和管理人员可以通过使用C / S和B / S结构,在软件开发人员的简单指导下操作软件,通过把系统部署到Android模拟器和真机的方式来进行人机交互8。操作简单,可以执行。3.2 系统需求分析机票查询系统主要包含用户登录和机票查询三个模块:一、用户登录模块手机客户端用户首先进入登录页面,如果没有注册,就点击注册按钮跳转到注册界面,填入所有需要的信息然后点击注册,系统会自动将信息储存到数据库中,然后点击返回按钮回到登录界面,输入账号密码,系统将输入的信息与数据库中存储的信息进行比较,如果正确,就跳转到主菜单界面,如果不正确,就提示账号或密码错误,需要重新输入信息。二、机票查询模块用户登录到主菜单界面,点击机票查询按钮,跳转到信息填写页面,主要填写的信息有出发城市,到达城市,出发时间等信息,输入完成后,点击查询跳转到机票打印界面,将所有符合要求的机票信息都显示到界面上,主要信息有:机场信息,出发城市、到达城市、出发时间、到达时间、机票价格、燃油费用等信息。三、机票预订模块点击机票信息,然后选择登机人,如果没有,需要进行注册,添加完成后点击确认订单按钮,就能生成订单了,并且可以在订单管理中查询到机票信息,可以删除订单,也可以在乘客管理中看到乘客的信息情况。3.3 系统功能结构3.3.1系统设计原理框图图1:系统设计原理框图3.3.2系统设计功能模块图图2:系统设计功能模块图3.3.3数据库E-R图E-R 是实体-联系方法用来描述世界的概念模型,它可以帮助我们更好的了解人们想要表达的内容和概念。下面是该系统的E-R图:图4:机票查询E-R图第4章 数据库设计我的数据库采用SQLite数据库设计。其中包含了普通用户表、登录表、票务信息表、航班信息表、用户操作记录表等,下面介绍一些重要的个表的结构内容:4.1 用户表普通用户表主要记录的是用户的一些个人信息,方便在后面查询车票的过程中可以有很好的凭证,其中用户名是主键列。表1:用户表4.2 用户登录表用户登录表主要记录了用户的用户名和密码,作为登录成功与否的标准,其中主键时用户名表2:用户登录表4.3 航班信息表从航班信息表中可以清楚的了解飞机的航班号,出发时间,到达时间、机票价格等一系列信息,其中主键列时航班号,由航空公司提供。表3: 航班信息表4.4 用户操作记录表用户操作记录表记录了用户订票、退票、改签等一系列操作,其中用户编号是主键列,且是自增长的。表4:用户操作记录表第5章 功能实现与测试5.1 登录界面本系统采用android为开发环境,可视化的操作大大简化了设计的复杂度,方便了设计者即时发挥9。当用户进入到机票查询系统系统后,会进入查询系统的登录页面,然后对该查询系统进行查询及其管理。在登陆界面,每个用户必须能够清楚输入用户名和密码,只有登录成功才能进行其它操作。登录界面如下图:图5 登录模块图当您现在想登陆时,你必须输入正确的帐户和密码,当密码和账号输入正确时才可以登录成,否则你无权登陆。用户登录页面部分代码如下:/获取输入框中的信息String name=et_name.getText().toString();String pwd=et_pwd.getText().toString();User user=new User(name, pwd);/验证账号密码/判断账号密码是否为空if(TextUtils.isEmpty(name)|TextUtils.isEmpty(pwd)Toast.makeText(LoginActivity.this, 账号密码不能为空, Toast.LENGTH_SHORT).show();else ArrayList list=helper.getAllUsers();for(int i=0;ilist.size();i+)if(list.get(i).getName().equals(name) & list.get(i).getPwd().equals(pwd)Toast.makeText(this, 登录成功, Toast.LENGTH_SHORT).show();startActivity(new Intent(LoginActivity.this,TwoActivity.class);b=true;if(b=false)Toast.makeText(this, 账号或用户名不正确,请重新输入, Toast.LENGTH_SHORT).show();5.2注册界面用户第一次进入时,没有账号密码,需要进行注册,填写完信息后将所填信息存入数据库,然后用户输入注册过的账号密码就能登录系统。注册界面如下图 图6 注册模块图注册部分的代码如下:String name=et_name.getText().toString();String pwd=et_pwd.getText().toString();helper.add(name, pwd);if(TextUtils.isEmpty(name)|TextUtils.isEmpty(pwd)Toast.makeText(RegisterActivity.this, 账号密码不能为空, Toast.LENGTH_SHORT).show();else Toast.makeText(this, 注册成功, Toast.LENGTH_SHORT).show();startActivity(new Intent(RegisterActivity.this,LoginActivity.class);5.3 数据库部分代码public class MyHelper extends SQLiteOpenHelper SQLiteDatabase db;public MyHelper(Context context) /* * 参数二:指定数据库文件的名字 * 参数四:数据库的版本号 * */super(context,text.db,null, 1);/ TODO Auto-generated constructor stubdb=getReadableDatabase();/1.自定义方法,用于添加数据public void add(String name, String pwd) / TODO Auto-generated method stub/* * 添加数据的sql语句 * insert into 表名(列名1,列名2.) values (值1,值2.) * values中可以通过指定 ? 先代表占位,稍后再给这个位置赋值 * 稍后通过execSQL方法的参数二的Object数组给每一个问号赋值 * 即前面的sql语句中有多少个 ? ,Object数组中就应该有多少个元素 * */db.execSQL(insert into user (name,pwd) values (?,?) ,new Objectname,pwd);/2.自定义方法,用于删除数据public void delete()/* * 删除数据的sql语句 * * delete from 表名 删除表中所有的数据 * delete from 表名 where 条件表达式 删除符合条件的数据 * * */db.execSQL(delete from user );/4.自定义方法,用于查询全表的数据public ArrayList getAllUsers()/* * 查询全表的sql语句 * select * from 表名 * */能够获取查询的结果,选择使用rawQuery方法得到查询结果/* * 参数一:要执行的查询sql语句 * 参数二:参数一中如果存在?,通过此参数给?赋值,如果参数一中没有?,填null即可 * */Cursor cursor=db.rawQuery(select * from user, null);ArrayList list=new ArrayList();/* * 通过Cursor对象获取查询数据,并将查询的数据添加到集合中,用于返回 * Cursor:游标 * 特点:默认是指向查询结果表的第一行的上方,必须每次向下移动一行, * 每次移动后Cursor对象中可获得当前行的所有数据 * 数据库中获取查询结果的原则:通过Cursor确定行数,再通过列名确定列数,即可将指定行指定列中的数据取出 * */* * moveToNext方法用于让Cursor向下挪动一行,并且获取该行数据 * 一旦返回值是false,代表已经移动到末尾,没有更多的数据了 * */while(cursor.moveToNext()/* * 通过cursor调用get方法获取本行指定类中的数据 * 方法的参数要求填写该列对应的列索引 * 可以通过getColumnIndex方法获取指定列名对应的列索引 * */String name=cursor.getString(cursor.getColumnIndex(name);String pwd=cursor.getString(cursor.getColumnIndex(pwd);list.add(new User(name,pwd);return list;5.4系统设置系统设置模板中有四个部分,分别为:航班查询,天气预报,订单管理,乘客管理,密码修改,关于我的等几个模块。图7 主菜单图5.5 机票查询界面在这个界面输入出发城市、到达城市、以及出发时间,即可查询机票信息 图8 填写信息界面图5.6 查询结果展示输入正确的查询信息后,会将机票的信息显示在界面上如图所示: 图9 查询结果图5.7 系统功能测试采用黑盒的方法黑盒子系统的测试是在测试程序接口,只检查是否按照正常使用的规格的程序功能,该程序能够正常接受输入数据,以产生正确的输出信息,并保持的外部信息的完整性。黑盒测试和白盒测试不能被取代,他是白盒测试方法相互补充,它很可能会发现其他类型的白盒测试是不容易发现的错误10。黑盒测试尝试发现功能是不正确或缺少的功能,接口错误,数据结构或外部数据库访问错误错误,错误的表现,初始化和终止错误。测试实际输出和期望的输出可以认为该系统能够正常工作。测试系统可以完成教练购票手续,以满足信息管理的管理员出游回来和用户信息,管理的角色之后,每个功能都可以正常使用。如:系统登录模块的测试输入数据 例如,输入正确的用户名,密码,再输入错误的用户名和密码。结果分析当你输入用户名和密码时,输入用户名和密码错误,则会提示账号或密码错误,输入正确时,就登陆进去。由此作为用于该模块的测试结果可以发挥作用。以同样的方式其他形式的测试此模块的功能,这种模块功能终于可以实现了。系统测试:测试用的系统的检测的人工方法中,开始该程序调试的开始,因为软件设计需要编译大量的代码,错误的频率相当高,如果不存在错误,则测试子系统,子系统是每个模块的一个分支,经检验合格后,再连接到模块,要看整体设计是合理的。在测试开始时不一定是真实的条件下进行的数据量,数据的可使用的一些精心设计的作为测试情况的量,这样不仅可以大大减少处理负荷,并更容易检测错误,并确定错误的范围10。测试对象的功能测试应侧重于所有可以直接追溯到用例或业务功能测试的要求。这个试验的目的是验证数据接收,处理和检索的正确性10。基于黑盒技术这些试验中,它通过一个图形用户界面和应用程序进行交互,并分析相互作用的输出或结果,为了验证的应用和它的内部程序。第6章 结论随着科技的不断发展,人们的生活也会变得越来越丰富多彩,出行方面也会有更多的人选择乘坐飞机,所以本论文的想法是符合实际的,尤其是在几乎人手一个手机的年代,在手机app上查询机票是非常便捷的,伴随着以后的不断改进,相信这方面也会有更好的发展,值得深入研究。通过这次毕业设计,我觉得真的有收获很大。我借此机会把在学校四年学的专业知识都有了很好的复习,尤其是java编程,数据库理论和SQLite。更重要的是,我学会了如何综合运用基本理论,基本知识和基本技能,还懂得了只要肯刻苦钻研、态度认真就一定可以把一件事情做好,也培养了我积极开拓创新的精神,提高了我分析问题,解决问题的能力,对我今后的工作方面也有很大帮助。 参考文献1 李刚. 疯狂 Android 讲义M. 北京:电子工业出版社,2013.2 杨云君. Android 的设计与实现M. 北京:机械工业出版社,2013.3 丰生强. Android 软件安全与逆向分析M. 北京:人民邮电出版社,2013.4 钟茂生,王明文. 软件设计模式及其使用J. 计算机应用,2002.5 姚昱旻,刘卫国. Android 的架构与应用开发研究J. 计算机系统应用,2008.6 高巍. Android 操作系统软件自动化测试方案的设计与实施D. 北京:北京邮电大学,2012.7 韩超,梁全,Android 系统原理及开发要点详解,北京:电子工业出版社,2009.8 杜吉志,徐明昆. Android 系统内存管理研究及优化J. 软件,2012.9 李刚彪. 数据库加密技术的研究与实现D.太原理工大学,2010.10高焕堂. Google Android 应用框架原理与程序设计 36 计M. Misoo,2010.致谢四年的学习生活即将划上一个句号,今后我将面对新的征程,新的开始,但是这四年的经历会一直存在我的心中。此次论文是在我的导师刘丹的亲切关怀和心的指导下完成的。伟人、名人固然伟大我也很崇拜,可是我更迫切地想要把我的敬意献给给一位平凡的人,我的导师刘丹老师。也许我不是您最出色的学生,但您却是我所最尊敬的老师。您的治学严谨,学识渊博,思想深刻,在我论文中给了我很大的帮助,同时,我还要感谢一下一起完成毕业论文小组的同学们,如果没有你们的支持和倾心的协助,我是无法解决这些困难和疑惑的。从开始选择课题到论文的顺利答辩,有无数可敬的师长、朋友给了我很多的帮助,在这里请您接受我诚挚的谢意!,谢谢你们!21
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿件


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!