基于Android公交查询系统的设计与实现(论文+程序设计源码+数据库文件)_基于android的公交查询系统的设计与实现-程序员宅基地

技术标签: mysql数据库  系统设计与实现  公交查询  android安卓  java后端  

【摘 要】随着互联网的技术的不断更新发展,人们生活节奏也在不断的加快,对于网络的依赖也越来越紧密,尤其是在等公交,经常会错过班次,但又不知道,下次班次几点发车,这样会导致乘客花掉大把时间在等待,如果可以掌握发车动态,乘客就可以随时安排自己的时间,也不会经常出现公交车站出现拥挤现象。
本系统通过hbuilder开发工具,主要基于vue语法及ES6实现,并打包生成Android平台apk文件。使用的技术有MySQL数据库、mybatis驱动框架以及tomcat服务端部署,用到的集成开发工具主要是IDEA和jdk1.8。

该android公交查询系统分为前台和后台,前台主要是给用户提供公交查询使用,是用户的操作界面,它的功能包括在公交线路搜索和公交站点查询。而后台主要给管理者使用,管理者可以对站点添加、删除,同时可以对站点进行修改,并且还能查看站点的所有信息;可以对车次行线添加、删除,同时可以对车次进行修改,并且还能查看车次的所有信息;

【关键词】Android平台,mysql数据库,hbuilder开发工具,公交查询

[Abstract] with the continuous update and development of Internet technology, people’s pace of life is also accelerating, and they are more and more dependent on the Internet. Especially when they are waiting for the bus, they often miss the bus, but they don’t know what time the next bus will leave, which will cause passengers to spend a lot of time waiting, Passengers can arrange their own time at any time, and there will not be frequent congestion at bus stops.

The system is implemented by hbuilder development tool, mainly based on Vue syntax and ES6, and packaged to generate Android platform APK files. The technologies used include MySQL database, mybatis driver framework and Tomcat server deployment. The integrated development tools used are mainly idea and JDK1.8.

The Android bus query system is divided into foreground and background. The foreground mainly provides users with bus query, which is the user’s operation interface. Its functions include bus line search and bus stop query. The background is mainly used by managers, who can add, delete, modify and view all the information of the site; It can add, delete, modify and view all the information of train number;

[Key words] Android platform, MySQL database, hbuilder development tool, bus query

目录
1 引言 3
1.1 研究的背景和意义 3
1.2国内外研究现状 3
1.3 论文研究的内容 3
2相关技术介绍及开发工具 4
2.1相关技术介绍 4
2.2系统环境开发条件 5
3 系统的需求分析与设计 5
3.1可行性分析 5
3.2需求分析 6
3.2.1系统总体概述 6
3.2.2功能性需求 6
3.2.3非功能性需求 7
3.2.4流程图设计 7
3.2.5系统ER图设计 9
3.3 数据库设计 10
3.3.1数据库设计的原则 10
3.3.2数据库表的设计 11
4系统功能模块实现 12
4.1 前端页面功能实现 12
4.1.1车次查询模块实现 12
4.1.2站点查询模块实现 13
4.2 后端页面功能实现 13
4.2.1登陆页面的实现 13
4.2.2车次管理页面的实现 15
4.2.3站点管理页面的实现 16
5 系统测试 17
5.1系统调试的目的和意义 17
5.2功能测试用例 18
6总结 19
参考文献: 20

1 引言
1.1 研究的背景和意义
随着智能手机端的发展及互联网的兴起,Android作为开放性平台的系统,在市面上受到广大消费者的喜爱,它不仅是一个开放性的平台,而且可以接入很多外界设备,实现数据的对接,而且它的编程语言是java开发,又是开源项目,作为第二次开发都是比较上手,有助于成本的控制。在手机市场上占领的份额已经达到了46%,这个数字还在每年不断的增长,所以作为通讯领域的android系统未来还是不可估量的,尤其是手机市场上占领了半壁江山。
通过android公交查询系统的实现,可以让等待的用户,合理规划好自己的出行时间。也在某种程度上改善交通拥塞、噪声干扰等一些问题,而且还可以推动城市的建设与进步。
Android 与其他操作系统最大的区别就是开源,可以开发自己喜欢的任何架构的系统,在第三方市场也可以找到很多开源的框架,便于二次开发或者重构,它的技术生态系统做的也是非常的完善,在学习和使用上也比较容易。
1.2国内外研究现状
目前苹果操作系统在全球销售市场是比较领先的,它的生态体系是非常封闭的,不是开源的项目,在制作开发上,相对android比较难上手,主要因为它的体系结构及开发语言在是市场面上的使用不是很广泛,在系统安装过程中还需要专门的appid,才能申请安装。
正是这种特性,很多硬件开发商都转入Android的开发,使得Android在硬件上还是系统软件上,性能都有很大的提升改善,在Android外置接口上API函数也预留配置文件,供开发者使用。
1.3 论文研究的内容
通过对Android系统的开发,不仅掌握了解Android体系结构,而且从H5开发的角度了解非原生态开发的原理,简化Android开发原生态的难度,从而提升开发效率。
本课题首先从项目开发的背景和意义,介绍Android开发的状况,并结合当前市场的操作系统,进行对比分析,说明Android开发的优势;在Android开发过程中,所使用的技术及相关工具的使用;从系统的需求分析与设计着手,介绍实现项目可行性分析及数据库设计方案;介绍该系统功能模块的实现过程,包括用车次管理模块、站点管理模块;对项目功能实现的测试,主要针对用户在使用车次管理模块、站点管理模块的测试。最后总结实现过程中掌握了内容,并对未来发展方向进行了展望。

2相关技术介绍及开发工具
2.1相关技术介绍
该系统基于浏览器的方式进行访问,采用springboot集成快速开发框架,前端使用vue方式,基于es5的语法,开发工具IntelliJ IDEA 2020.1.1 x64,因为该开发工具,内嵌了Tomcat服务运行机制,可不用单独下载Tomcat server服务器。
Java作为面向对象的开发开言,它不仅吸收了很多语言的各种优点,而且它的整个生态在所有语言中开放性是最好的,在学习上,可以找到很多类似的功能代码,供以后参考学习,像目前asp.net开发语言在很大程度上都在模仿java的思维,如果学会java编程,在去掌握另一门语言,学起来就非常的快,因为它的简单性、面向结构性,减少了代码管理的复杂度,让编程过程更加的清晰、逻辑解耦性也更加分层化。
Maven作为了一款项目版本管理软件,可以更好管理jar包的使用,以前在没有出现Maven管理工具,需要在网上下载很多版本的jar包类,有时候版本间不兼容性,影响系统的使用发挥,有时会出现不同的bug出现,使用Mavern工程项目后,就可以很好的杜绝这一难度题。
MySQL是开源的关系型数据库,因为是开源所以没有版权的纠纷,现在很多公司都在利用mysql作为数据库的存储,不仅它的存储速率比较快,而且还可以在它的基础上进行二次开发,定制出更适合公司的数据库。
Vue的语法底层实现了双向数据绑定的原理,在重新更细或发布项目时候,不需要额外的重启项目,代码功能模块的实现,就可以在浏览器上反映出来,实现快速响应,不像有些可编译的语言,需要加载很多的插件,才能启动。
Spring封装了很多的java类库文件,在开发过程中,不需要写太多复杂的类文件,只需要引用spring这个框架,就可以完成快速开发的需要,所以Java编程的逻辑代码就变得比较清晰,各层之间的解耦性也比较强,可重用性也得到了很好的发挥,使得开发难度也更加轻松容易,它的主要两个特性就是依赖注入、面向接口思想;(AOP)切面思想;
IntelliJ IDE与eclipse对比,这两款都是java编程语言开发工具,与之不同之处,IDEA与第三方插件市场接入更多,开发效率与智能提示方面比eclipse更智能,在环境配置生成上IDEA也比较快,界面设计也比较干净简单。
HBuilder 是基于HTML、js、css的等H5语法的开发技术,使得开发者很容易上手学习,里面涉及的数据绑定基于Vue语法涉及,在开发效率上也比传统的jquery快,当然HBuilder 也保留了对jquery的支持,两种语法可以结合项目的需要,可以混合开发。该开发工具本身是由java编写完成,所以对原生项目的插件也有很好的兼容性。

2.2系统环境开发条件
该系统采用B/S架构,前端框架使用微信开发者工具开发,后台数据实现使用MYSQL
序号 软件环境 版本 备注
1 windows操作系统 10
2 数据库MYSQL 8.0
3 编程开发工具软件IDEA 2020.2
4 HBuilder 3.05

3 系统的需求分析与设计
作为软件前期开发过程中,需要对项目进行需求分析,首先要了解业务具体做什么,实现什么样的功能,在功能模块中细分每个功能模块的使用背景,只有这样在软件开发中,才不会重复出现因为架构设计的缺陷,导致在次设计底层数据结构的发生,此外,有些非功能的特细,比如数据库性能、安全性的考虑、网速的反映时间都是作为需求分析的约束条件,也是项目开发完成后,在运行时需要分析的目标。

3.1可行性分析
在系统开发的过程中系统的可行性分析是必不可少的,可行性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上面的目标还要必须考虑到解决这些问题的方法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。这里可以用技术的可行性,操作的可行性,经济的可行性对我们的系统进行可行性的研究。

3.1.1技术性:本项目设计的系统主要采用vue前端开发,后端使用java语言以及springboot集成开发性框架,采用mysql数据库,根据自身所学专业,结合网上查阅案列及图书馆资料,开发实现是没有太大问题的。
3.1.2经济性:开发一套成熟的软件,都需要经过一段漫长的过程,这里设计到软件的需求分析、制定计划,开发人员、测试环节、调试过程,都需要资金及人力的投入。而这套软件的开发,可以通过网上开源源码及相关资料的学习,在硬件及电脑使用上,都是自己所用,所以在开发成本上可以忽略不计。
3.1.3操作性:本系统设计到的功能主要有登陆模块、车次管理模块、站点管理模块,这些功能模块的相关知识,都是平常所设计到的常用功能,在操作上都是可以实现的。
3.2需求分析
3.2.1系统总体概述
通过了解用户的需求,可以知道操作简单的系统更易受到用户青睐,同时能够准确、完整的对信息进行管理。公交查询信息平台在对需求做相应的分析后,得出结论,系统主要分为两个角色:管理员和普通用户。
管理员模块主要进行数据的更新管理,功能分为系统用户管理、车次管理功能、 站点管理功能。其系统结构如图3-1所示:在这里插入图片描述
如图3-1结构图

3.2.2功能性需求
本系统是利用现代化的计算机网络技术将传统创业信息宣传方式整合,按照实践过程设计完成的。同时完善服务,初步设计一个微信智能停车系统平台以利于相关的事务操作。为了使系统在各项管理中发挥更大的作用,实现计算机信息化高效的管理,现将开发目标功能需求介绍如下:

( 1) 管理员登录模块
管理员有权进行Android系统的管理,包括管理员权限设置、车次管理、站点管理。
表3-1用户用例描述用例名称 用户管理
参与者 管理员
描述 管理员提供新增、修改、删除、查阅等功能
前置条件 (1)管理员成功登录系统
(2)管理员只能对已存在的数据进行修改和删除
后置条件 无
事件流 (1)管理员查看修改数据
(2)管理员添加数据
(3)管理员删除数据
补充说明 (a)新添加的数据不符合要求时会添加失败
(b)修改的数据不符合要求时会修改失败
( 2)车次管理模块
拥有管理权限管理员,可进行车次列表的查看,以及对应的车次增加、删除、修改、查询操作。
表3-2车次管理用例描述
在这里插入图片描述
在这里插入图片描述
3.2.3非功能性需求
该系统不仅要满足功能性需求,还需要满足看不到的非功能性需求,比如系统的兼容性、用户界面整体性、网页访问的流畅性,主要归纳如下几点:
在这里插入图片描述
3.2.4流程图设计
Android公交查询系统工作流程为:系统主要包括用户和管理员两个部分,管理员拥有最高权限,在对各项信息进行增加、删除、修改后会更新后台数据库的内容,用户在登录进行站点管理查询、车次管理查询等指令动作同样会更新后台数据。以下是总体的流程图设计如图3-2:在这里插入图片描述
基于Android公交查询系统的设计与实现(论文+程序设计源码+数据库文件)点击下载全部连接》》》

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40228600/article/details/117825895

智能推荐

PHP 实现汇聚adapay调用微信支付_php接入adapay-程序员宅基地

文章浏览阅读2.9k次。整理一下调起微信支付的流程:Adapay成功发起支付请求 -> 将请求成功中的 pay_info 返回给前端-> 前端使用 pay_info 调用微信支付Payment.php:发起支付的方法config.php:配置文件,引入参数文件(根据你自己的参数文件调整路径)_php接入adapay

iOS中NSAttributedString的使用--对关键字着色,以及处理html实例-程序员宅基地

文章浏览阅读112次。1,最近项目中用到了一个功能,一个很好的功能。就是用户在搜索的时候,搜索结果出来后对你输入的关键字进行红色标记。这样用户就很请楚的看到自己输入什么后会出现什么样子的结果。还有一个功能是,现在有一段文字了,但是要对其中的某些字符串进行着色处理,这个时候NSAttibutedString起到了非常大的作用。以下是我写好的一段代码,各位可以拿去用,非常方便的处理好。#imp..._ios 开发给代码关键词上色

野火的freeRTOS工程怎么移植到正点原子上_野火的程序可以烧进正点原子吗-程序员宅基地

文章浏览阅读1.4k次,点赞3次,收藏10次。目录简介:时钟:串口波特率设置问题:滴答时钟的中断的时长问题:简介:正点原子的freeRTOS教程和野火系列的对比跟玩一样,教的不细致,代码注释也还没有野火详细。现实是我买了正点原子STM32F4探索者(悟)的板子,所以在学习[野火]《FreeRTOS 内核实现与应用开发实战—基于STM32》 这本书第二部分内核移植时,需要做代码修改。我选用的是野火STM32F407霸天虎的代码,移植到正点原子STM32F4探索者(悟)的板子,下面记录我移植过程中修改的地方。书籍._野火的程序可以烧进正点原子吗

ABB--配置MoveIt!运动学插件IKFAST_irb 6700机器人的urdf文件-程序员宅基地

文章浏览阅读1.5k次,点赞4次,收藏12次。一、IKFAST简介IKFAST是一种基于解析算法的运动学插件,可以保证每次求解的一致性。 mkdir -p ~/ikfast_ws/srccd ~/abb_ws/srccatkin_init_workspace cd ~/abb_wscatkin_make _irb 6700机器人的urdf文件

CentOS6安装各种大数据软件 第十章:Spark集群安装和部署-程序员宅基地

文章浏览阅读149次。相关文章链接CentOS6安装各种大数据软件 第一章:各个软件版本介绍CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令CentOS6安装各种大数据软件 第三章:Linux基础软件的安装CentOS6安装各种大数据软件 第四章:Hadoop分布式集群配置CentOS6安装各种大数据软件 第五章:Kafka集群的配置CentOS6安装各种大数据软件 第六章:..._spark修改slaves设置从节点地址

Elasticsearch集群_elasticsearch.cluster.name-程序员宅基地

文章浏览阅读539次。今日授课目标能够完成索引库的操作:新增、查询、删除能够完成映射操作:配置映射,查看映射能够完成文档的操作:新增、修改、删除能完成请求体查询:基本查询、结果过滤、高亮查询,分页及排序ES前置准备Lombok讲解第一章 Elasticsearch集群1.1 单点的问题单台服务器,往往都有最大的负载能力,超过这个阈值,服务器性能就会大大降低甚至不可用。单点的elasticsearch也是一样,那单点的es服务器存在哪些可能出现的问题呢?单台机器存储容量有限单服务器容易出现单点故障,无法实_elasticsearch.cluster.name

随便推点

输入与输出实验-程序员宅基地

文章浏览阅读1.4k次,点赞3次,收藏6次。(一)查看并运行下列程序并回答问题。package case1;import java.io.*;public class IOExample { public static void main(String[] args) throws IOException { // 一行一行读入数据 BufferedReader in = new BufferedReader(new FileReader("IOExample.java")); ._输入与输出实验

Jar包启动通过ClassPathResource获取不到文件路径问题_classpathresource找不到文件-程序员宅基地

文章浏览阅读8.7k次。但是如果将项目打包成一个jar包后,再获取map.properties是获取不到的,对于操作系统来说最多只能读取到jar包,而不能再继续读取jar包里面的文件了,如果继续读取,只能交给jvm去读了,此时能读取到二进制流,而不能获取到路径。可通过以下几种方式获取classpath下的资源。如果是使用idea进行本地开发时,是可以获取到classpath下的资源的路径的,因为是读取的磁盘上的真正的那个文件。maven项目resources目录也是会被编译到classpath下的。..._classpathresource找不到文件

短期学习就能月薪过万?IT培训套路揭秘,教育机构宣传是真是假_外面培训学校学几个月it毕业就一万多一个月真的假的-程序员宅基地

文章浏览阅读1k次。互联网时代,每个想要进入IT行业的人都或多或少地考虑过去IT教育培训机构学习。现在,很多IT教育培训机构在宣传的时候,都称短期学习就可以帮助大家月薪过万。而看到这样的宣传,很多人都动心了。但还有不少人产生了质疑,短期学习真的就能让自己月薪过万吗?其实,大家在浏览一些IT教育机构的宣传网站的时候应该也可以注意到,IT培训课程分多个专业,不同专业的学习时间不同,最后就业时的真实工资也不同。目前多数I..._外面培训学校学几个月it毕业就一万多一个月真的假的

首个重复字符(对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。)_对于一个字符串,请设计一个高效的算法,找到第一次重复出现的次数 输入为:“qywyei-程序员宅基地

文章浏览阅读3.1k次。对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。测试样例:输入:"qywyer23tdd",11输出:返回:y解题思路:用 indexOf()来获取当前元素下标,在计算它后面与它相同的元素下标,保存下来,与后面用相同方法求得的下标比较..._对于一个字符串,请设计一个高效的算法,找到第一次重复出现的次数 输入为:“qywyei

【Linux命令-转载】nohup 和 & 绝配(让命令在后台执行)-程序员宅基地

文章浏览阅读428次。nohup 的作用可以将程序以忽略挂起信号(SIGHUP)的方式运行。常见的用法是和 & 命令一同使用,将命令放置到后台运行,即使终端挂掉,进程会忽略挂起信号,继续运行。将程序放到后台运行,一般有两种方式:(1)command &:后台运行,关掉终端会停止运行。(2)nohup command & :后台运行,关掉终端也会继续运行。「注意:」(1)如果使用nohup执行程序未显示进行标准输出重定向,则标准输出默认重定向当前工作目录的 nohup.out 文件中。

2003服务器系统QQ安装不了,windows2003server-程序员宅基地

文章浏览阅读957次。windows2003server是一款针对大中型企业而设计的服务器操作系统,拥有32位和64位两种版本,保证了最佳的灵活性和可伸缩性,它支持的应用程序包括:联网、消息传递、清单和顾客服务系统、数据库、电子商务 Web 站点以及文件和打印服务器。有需要的朋友可以到本站进行下载!windows2003server简介:Windows Server 2003 企业版允许通过添加处理器和内存来提高服务器..._qq winserver

推荐文章

热门文章

相关标签