基于android studio开发的火车票购票系统app,android移动开发课设,毕业设计

news2024/11/25 15:37:40

基于android studio开发的火车票购票系统app

项目概述

基于android studio开发实现火车票购票系统app
适用于android移动开发学习项目,课程设计,毕业设计等

开发环境及工具

  1. 开发工具:android studio 或者intellij idea专业版
  2. 操作系统:windows10
  3. java: JDK11
  4. 构建工具Gradle : gradle-7.0.0
  5. 模拟器AVD:pixel 3XL
  6. API 30 具体AVD配置详情如下
    在这里插入图片描述

功能与预览截图

APP功能
该APP包含17个Activity,每个Activity的功能(附运行图)及写Activity的操作说明。登录活动的运行结果如图2.1所示。在文本框里填写密码后,如果密码与数据库内容相匹配,则进入主页面。否则,提示登录失败如图2.2所示。
在这里插入图片描述

在这里插入图片描述
如果没有登录账号可直接进行注册操作,注册页面如图2.3所示,当注册表中填入正确的信息后,点击注册按钮页面将会直接从注册页面(RegisterActivity)自动跳转到用户信息页面(PersonalInfoActivity)来显示用户注册的信息并提示注册成功同时也会自动登陆你所注册的账号如图2.4所示。
在这里插入图片描述
在这里插入图片描述

当注册成功后即可点击我的资料按钮即可返回更多功能页面(More2Activity)并且显示已经登陆的用户信息如图2.5 所示。以上为登陆和注册操作完成。
在这里插入图片描述
下面介绍主操作页面。在刚进入程序后直接进入车票预定主页面如图2.6所示。
在这里插入图片描述
同时还设有订单管理(OrderManageActivity)、我的资料(My12306Activity)、更多功能(MoreActivity)主页面如图2.7所示。以上主页面介绍完毕。
在这里插入图片描述

下面介绍够购买车票的主要功能。在车票预定页面进行选择出发地、目的地和出发日期如图2.8所示。
在这里插入图片描述

在选择之后点击查询即可获取到数据库中所对应的车次信息并在查询结果页面(QueryResultActivity)中显示如图2.9所示。在这里插入图片描述如果未进行登陆的情况下直接点击所需的车次,程序将会自动跳转到登录页面(LoginActivity)提示登陆如图2.10所示,在登录后直接跳转到确认订单页面(ConfirmOrdersActivity)如图2.11所示。如果登陆后在进行的车票查询操作时,再点击车次信息后直接跳转到订单确认页面。

在这里插入图片描述
在这里插入图片描述
单击确认订单后直接跳转到支付页面(ConfirmPayActivity)如图2.12所示。
图2.12 待支付页面

该页面可以点击继续支付或者取消订单。在点击取消订单后将直接返回车票预定业页面(BookingActivity)。若点击继续支付则直接跳转到支付成功页面(FinishedPayActivity)如图2.13所示。

图2.13 支付成功页面

单击返回首页即可返回到车票预定业页面(BookingActivity),点击查看已完成的订单按钮即可跳转到也完成订单页面(FinishedOrderList)查看已经购买的车票和相关信息如图2.14所示。

图2.14 已完成订单页面

单击订单管理即可进入订单管理页面。以上是整个购买车票的流程介绍。
下面介绍订单管理功能中改签功能。点击订单管理页面(OrderManageActivity)如图2.15所示。单击已完成订单即可查看已完成的订单,点击改签按钮后将跳转到订单改签页面(ChangeOrderActivity)如图2.16所示。

在这里插入图片描述

图2.16 改签页面

直接点击所需要改签的车票后挑战到车票改签查询页面(Change_order_query_Activity)并且可选则改签的日期如图2.17所示。点击查询就可直接在该页面去的下方显示出符合条件的车次信息,如果没有满足条件的车次就会有无票的提示信息如图2.18所示。

图2.17 车票改签查询页面

图2.18 改签车票查询页面

点击能够满足自己行程的车次后可直接跳转到确认改签页面(ConfirmChangeActivity)如图2.19所示。点击确认改签自动跳转到已完成订单页面(FinishedOrderList)并将该车次的车票状态自动变更为改签票状态如图2.20所示。

图2.19 确认改签页面

图2.20 改签后的已完成订单

单击订单管理按钮即可返回到订单管理页面。以上为改签车票功能介绍完毕。
下面介绍订单功能中的退票功能。在订单管理页面中点击退票按钮即可进入退票页面(CancelOrderActivity)如图2.21所示,点击不需要的车票即可完成退票操作并提示退票成功如图2.22所示。以上退票功能介绍完毕。

图2.21 退票页面

图2.22 退票成功提示

最主要的功能介绍完毕,下下面介绍我的资料页面(My12306Activity)如图2.23所示。点击用户信息即可跳转到用户信息页面(PersonalInfoActivity)查看该用户的所有账户信息如图2.24所示。以上所有页面信息及功能已经介绍完毕。

图2.23 我的资料页面

图2.24 用户信息页面

3.数据库设计
Sqlite数所库名为ticket.db。共有2个表,表名分别为:user和Ticket。user表记录用户的账户有、密码等相关信息,Ticket表记录了车票的相关信息,表结构如下表3.1所示。
在这里插入图片描述

图3.1 user表数据

在这里插入图片描述

项目配置与运行

将项目源码导入到开发工具
修改gradle为自己的版本
修改jdk 为环境版本
修改sdk 位置为自己的sdk路径
构建项目运行即可

源码获取:联系我们

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/666875.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最新大学计算机专业实习心得报告

最新大学计算机专业实习心得报告(篇1) 一、实习目的 通过理论联系实际,巩固所学的知识,提高处理实际问题的能力,为顺利毕业进行做好充分的准备,并为自己能顺利与社会环境接轨做准备。通过这次实习&#xff…

软件测试入门篇

软件测试含义 在规定条件下对程序进行操作,发现软件错误,衡量软件质量,对其是否能满足设计要求进行评估的过程 开发不做测试原因:测试力度,思维方式,关注度 计算机定义 一种可以自动高效进行技术操作的…

Debian 版本代号与《玩具总动员》

作为最受欢迎的 Linux 发行版之一,Debian 是许多其他发行版的基础,许多非常受欢迎的 Linux 发行版,例如 Ubuntu、Knoppix、PureOS 、Tails、Armbian 以及 Raspbian,都基于 Debian。 经过近 20 个月的开发,2023 年 6 月…

基于SpringBoot的大学生成长管理系统的设计与实现

摘 要 大学生成长管理系统是记录大学生在大学期间的成长记录史。它是为了促进学生成长、提升学习兴趣及其质量。系统是集辅导员、学生和管理员为核心的一个综合平台。 本系统采用Java编程语言,完成了大学生成长管理系统。系统的使用角色分为三个:管理员…

鉴源实验室丨HSM技术浅述

作者 | 徐奕华 上海控安可信软件创新研究院汽车网络安全组 来源 | 鉴源实验室 引言:2023年5月初,工业和信息化部装备工业一司组织全国汽车标准化技术委员会开展《汽车整车信息安全技术要求》等四项强制性国家标准的制修订[1]。这意味着车辆信息安全管理…

CPU调优 iostat命令

目录 一、命令描述 二、命令作用 三、命令 1.用法 2.命令参数 四、使用实例 1.CPU属性值说明 五、压力测试stress 1.stress介绍 2.stress参数 3.安装stress 四、实验 五、总结 一、命令描述 Linux 中的 iostat 是I/O statistics(输入/输出统计&#xf…

毕业设计心得总结10篇

毕业设计心得总结1 201_年5月30日上午,我们的毕业论文答辩圆满结束了。当刘老师给我们送上人生的祝语时,一种即将离别的难舍之情油然而生,我开始眷恋培养我大学四年的母校,看着一张张熟悉的面孔,过去的欢乐和不快都烟消…

JavaEE课程设计——校园招聘管理系统(vue框架分析)

目录 Vue架构 登录 Vue架构 前端执行命令 npm run serve 这是整个前端的目录结构 vue.config.js是对前端vue的一个配置, // var webpack require(webpack); const path require(path)function resolve(dir) {return path.join(__dirname, dir) }function pu…

每日学术速递6.13

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Tracking Everything Everywhere All at Once 标题:一次跟踪所有地方的一切 作者:Qianqian Wang, Yen-Yu Chang, Ruojin Cai, Zhengqi Li, Bharath Hariha…

数据结构 栈(C语言实现)

绪论 时间就是生命,时间就是速度,时间就是气力。——郭沫若;本章继续学习数据结构,本章主要讲了什么是栈以及栈的基本功能和实现方法。 话不多说安全带系好,发车啦(建议电脑观看)。 附&#xff…

专业科普:什么是单片机?

一、什么是单片机 单片机诞生于20世纪70年代末,它是指一个集成在一块芯片上的完整计算机系统。单片机具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器&#xff…

AI日报|GitHub报告:开发者正将AI视为新机会;突破ChatGPT的能力极限;AI会让我们变得愚蠢吗?

今日值得关注的人工智能新动态: AI 会让我们变得愚蠢吗?安永:与老板们不同,大多数工人正在拥抱 AI突破 ChatGPT 的能力极限谷歌推出AI虚拟试穿工具Gannett 涉足生成式 AIGitHub 报告:开发者将 AI 视为一个新机会专家敦…

Nik Color Efex 滤镜详解(4/5)

油墨效果 Ink 模拟特种相纸和调色剂的冲印效果。 颜色组合 Color Set 可选择不同的颜色组合。 强度 Strength 调整滤镜效果程度。 层次和曲线 Levels & Curves 用色阶和曲线来调整图像的影调和色调。常与其它滤镜组合使用。 通道 Channel 选择调节色调的通道。 通道除了…

C++基础(10)——函数模板和类模板

前言 本文主要介绍了C中函数模板和类模板基本知识 6.1&#xff1a;函数模板 模板函数的定义 template<typename T>函数的定义或声明 模板函数的两种使用方法&#xff08;编译器自动推测、显示指定T的类型&#xff09; 注意事项&#xff1a;模板一定要确定指出T的数据…

nuxt打包后文件过大的优化

在使用nuxt.js来做项目的时候&#xff0c;遇到了加载缓慢的问题。解决思路如下 1、大文件拆分 2、文件压缩 大文件拆分 通过nuxt build --analyze或者nuxt build -a命令来启用 在package.json中 添加–analyze&#xff0c;然后执行npm run build 打包后如下&#xff1a; …

MySQL数据库——事物

MySQL数据库——事物 一、事务的概念二、事务的ACID特点1.原子性2.一致性3.隔离性4.持久性5.事务隔离级别的作用范围 三、事务级别的查看与设置1.查询全局事务隔离级别2.查询会话事务隔离级别3.设置全局事务隔离级别4.设置会话事务隔离级别 四、事务控制语句1.测试提交事务2.测…

threeJs着色器

一、着色器 着色器&#xff08;Shaders &#xff09;是一种使用GLSL(OpenGL Shading Language)编写并在GPU上运行的程序。它们被用于定位几何体的每个顶点&#xff0c;并为该几何体的每个可见像素着色。使用“像素Pixel”来描述其实并不准确&#xff0c;因为渲染的每个点不一定…

神经网络小结:训练的全过程

这一节我们主要是将之前的知识穿起来&#xff0c;形成一个整体。如果之前的没看过可以回翻一下专栏。但是在整体回归之前&#xff0c;我们还需要学习一个小知识点——随机初始化 随机初始化 在神经网络中&#xff0c;我们大致的训练流程就是&#xff1a;通过前向传播得出当前…

指针和数组--指针和二维数组的关系

指针和二维数组的关系 目录 一、二维数组的行地址和列地址 二、通过二维数组的行指针和列指针来引用二维数组元素 一、二维数组的行地址和列地址 在C语言中&#xff0c;可将一个二维数组看成是由若干个一维数组构成的。例如若有下面的定义&#xff1a; int a[3][4]&#xf…

8、DuiLib创建子窗口

文章目录 1、创建子窗口2、创建子窗口 XML 配置文件 1、创建子窗口 一个大规模的应用不可能只有一个窗口&#xff0c;之前我们的案例都是在一个窗口实现的&#xff0c;接下来我们实现一个关于窗口&#xff0c;来介绍如何通过 DuiLib 实现子窗口管理。 2、创建子窗口 XML 配置…