基于Android studio 实现外卖(点)订餐系统-编程乐学最新原创

🍅文章末尾获取完整项目源码方式🍅

目录

一、实现介绍

视频演示

1.1 启动页

1.2登录页

1.3注册页

1.4商家主页

1.5商家发布商品页面

1.6商家我的页面

1.7商家个人信息修改页

1.8商家商品信息修改页

1.9用户首页

1.10用户我的订单页面

1.11用户我的页面

1.12用户个人信息修改页面

1.13用户地址管理页面

1.14用户订单详情页

1.15用户菜单页面

1.16用户确认订单页面

1.17用户支付成功页面

二、获取源码


一、实现介绍

视频演示

基于Android studio 实现的外卖(点)订餐系统-原创项目

1.1 启动页

 主要实现启动页倒计时结束后跳转登陆页面。

1.2登录页

根据用户注册的信息实现用户的登陆功能。 

1.3注册页

使用SQLite数据进行用户数据的存储。 

1.4商家主页

主要实现根据名称进行搜索、修改商品详情以及删除该商品信息。 

1.5商家发布商品页面

商家可以选择上传商品的图片。

商家可以填写商品的标题、简介、售价等信息。

商家可以选择商品的类型。

商家可以添加商品到系统,并保存信息到数据库中。

页面会对商家输入的信息进行检查,确保所有信息都被填写完整。

页面会对商品标题进行重复性检查,确保不会出现相同标题的商品。

页面会将上传的图片转换为编码的字符串,以便保存到数据库中。

添加成功后会提示商家添加成功,并清空页面内容,方便商家继续添加其他商品。

 

1.6商家我的页面

这个页面主要实现商家的个人信息的查看以及修改,然后就是退出登陆和注销账号、注销账号会把这个账号所有的数据清空,请谨慎使用该功能! 

1.7商家个人信息修改页

该页面只可以进行修改手机号和密码。 

1.8商家商品信息修改页

商家进行修改商品详情信息。 

1.9用户首页

用户主页,点击门店外卖可以进入菜单页面进行选餐,然后点击我的订单可以查看历史订单。该页面采用顶部轮播图以及末尾的视频循环播放。 

1.10用户我的订单页面

用户购买后会生成一个订单号根据订单号可以查询,点击列表项可以进入详情页进行查看详情。

1.11用户我的页面

该页面与商家我的页面功能类似,用户可以自行修改地址。 

1.12用户个人信息修改页面

仅限修改密码和手机号。 

1.13用户地址管理页面

可以进行修改用户配送地址。 

1.14用户订单详情页

在onCreate()方法中初始化界面,包括设置布局、初始化控件和绑定事件监听器。

show()方法根据传入的订单号(orderNumber)和用户名(savedUsername),从数据库中获取对应的订单信息,并展示在界面上。

创建订单详情适配器(OrderDetailsAdapter)并设置给RecyclerView(rv),用于显示订单中商品的详细信息。

设置删除线样式给tvDelete文本。

根据获取到的订单信息,更新界面显示订单的地址、订单号、总价格和时间。

back()方法为返回按钮imgBack设置点击事件,点击返回上一个页面。

initView()方法用于初始化控件,获取用户信息并存储在savedUsername中。

 

1.15用户菜单页面

该页面实现了用户浏览商品、选择商品并结算的功能。 

1.16用户确认订单页面

显示页面信息:在show()方法中,根据用户名获取地址信息并显示在界面上,同时显示用户的用户名、手机号码以及购买的产品列表信息。计算总价格和总数量,并显示在界面上。

提交订单:用户点击提交按钮后,会获取地址信息并检查是否为空,然后生成订单编号,遍历购物车中的产品列表,添加订单并清空当前用户的购物车。如果结算成功,会提示结算成功并跳转至结算成功页面;否则提示结算失败。

地址按钮点击事件:点击地址按钮会跳转至地址页面,用户可以选择或编辑地址信息。

返回按钮点击事件:点击返回按钮会结束当前活动,返回上一个页面。

RecyclerView适配器:使用BillAdapter适配器将产品列表显示在RecyclerView中,用户可以查看购物车中的产品信息。

运费计算:在计算总价格时,会额外添加2元的运费。

删除产品:用户可以删除购物车中的产品,删除后会刷新RecyclerView显示。

结算成功更新销售量:在结算成功后会更新数据库中对应产品的销售量

 

1.17用户支付成功页面

提交订单后显示该页面,随后会自行跳转到我的订单页面 

到此为止,我们的项目就已经完成了! 

二、获取源码

关注公众号《编程乐学》

后台回复:24040601

👇👇👇快捷获取方式👇👇👇

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++学习进阶:二进制与位运算

目录 1.进制与原反补码 2.位运算 2.1.按位与 2.2.按位或 2.3.异或 2.4.取反 2.5.移位 3.部分面试题 3.1.不创建新的变量,实现两个变量的交换 3.2.求一个整数存储在内存中二进制中1的个数 这一部分本来是C语言的内容,当学习位图时&#xff0c…

期货分账户软件|程序化软件|风控软件|资产管理软件开发用到哪些技术?

期货/股票资管分仓软件分账户系统APP的开发涉及多个技术领域,以确保软件的功能性、安全性和易用性。以下是一些在开发过程中可能需要用到的关键技术: 前端开发技术:前端部分主要负责用户界面的设计和实现。通常使用HTML、CSS和JavaScript等技…

YARN-Client 与 YARN-Cluster 区别

YARN-Client 与 YARN-Cluster 区别 理解YARN-Client和YARN-Cluster深层次的区别之前先清楚一个概念:Application Master。在YARN中,每个Application实例都有一个ApplicationMaster进程,它是Application启动的第一个容器。它负责和ResourceMa…

【HTML】制作一个简单的实时字体时钟

目录 前言 HTML部分 CSS部分 JS部分 效果图 总结 前言 无需多言,本文将详细介绍一段HTML代码,具体内容如下: 开始 首先新建文件夹,创建一个文本文档,两个文件夹,其中HTML的文件名改为[index.html]&am…

Jmeter杂记:测试计划参数详解

测试计划各参数详解 1,用户自定义变量,是全局变量,供所有线程组使用,可用配置元件:用户自定义变量替代 2,连续的运行线程组,默认不勾选,则随机的运行多个线程组中的取样器&#xff…

在隐私计算应用中和数链具备哪些技术特点?

在加速“可信数字化”进程的背景下,我国区块链产业将在打造新型平台经济,开启共享经济新时代的同时,带动数字经济“脱虚向实”服务实体经济。 和数软件在加速数字化进程的同时,进一步服务实体经济,提高实体经济的活力…

VS2019 VS2022 LNK2019 无法解析的外部符号sprintf

解决方案: 项目属性》配置属性》链接接-》输入》附加依赖项,增加 legacy_stdio_definitions.lib legacy_stdio_definitions.lib 是一个库文件,通常与使用 Visual Studio 编译的 C/C 项目相关。它的作用是解决在使用新版本的 Visual Studio 编…

IIS中部署netcore程序出现500错误如何处理?

500错误在IIS部署中经常出现,但是解决非常耗时 官方也有给出一些指引,但是无法解决根本问题 建议检查netcore相关组件是否正确安装,如下: aspnetcore-runtime-3.1.32-win-x64 dotnet-hosting-3.1.32-win dotnet-runtime-3.1.…

两数相加(leetcode)

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 …

Intel VAAPI/QSV/oneVPL区别简介

一、常用视频加速接口汇总 libmfx就是Intel QSV. 二、VAAPI VAAPI (视频加速API,Video Acceleration API)包含一套开源的库(LibVA) 以及API规范, 用于硬件加速下的视频编解码以及处理,只有Linux上的驱动提供支持。由Intel主导,但是AMD&…

51单片机上面的IIC协议

1、什么是IIC协议 2、模拟IIC协议 51单片机上面是没有与IIC协议相关的寄存器的(没有相关的硬件),不像串口可以配置对应的寄存器达到目的(比如修改波特率9600 or 115200),要配置IIC只能够根据用户手册里面的…

未来课堂革命:OpenAI 发布 ChatGPT 使用指南,探索生成式 AI 如何重塑教育景观

随着新学期的来临,众多初登教师舞台的 00 后们,也完成了他们的第一个教师身份下的暑期生活。 对于开学的抵触情绪,不仅学生们普遍存在,许多 00 后的新晋教师们也同样感同身受。某种程度上,这些抗拒上班的年轻教师群体…

Java日期正则表达式(附Demo)

目录 前言1. 基本知识2. Demo 前言 对于正则匹配,在项目实战中运用比较广泛 原先写过一版Python相关的:ip和端口号的正则表达式 1. 基本知识 对于日期的正则相对比较简单 以下是一些常见的日期格式及其对应的正则表达式示例: 年-月-日&a…

亚马逊的核心壁垒:物流

物流为美国电商市场渗透及格局的核心影响因素,也是亚马逊的核心壁垒所在。 从行业规模来看,美国电商渗透率低于中国,主要由于 两国地理及人口密度差异导致美国物流履约难度更大,此外美国更发达的实 体零售业和更为严苛的电商政策…

弹簧、质量的bode、nyquist与根轨迹图

在控制系统分析中,Bode图、Nyquist图和根轨迹图都是重要的工具,用于评估和分析系统的性能。这些系统的Nyquist图提供了最大的旋转,即它们在频率变化时表现出最大的相位变化。当Nyquist图完全位于虚轴上时,意味着系统的增益&#x…

代码解读:使用Stable Diffusion完成相似图像生成任务

Diffusion models代码解读:入门与实战 前言:作为内容生产重要的一部分,生成相似图像是一项有意义的工作,例如很多内容创作分享平台单纯依赖用户贡献的图片已经不够了,最省力的方法就是利用已有的图片生成相似的图片作为…

C中自定义类型——结构体

一.前言 在C语言中,不仅有int、char、short、long等内置类型,C语言还有一种特殊的类型——自定义类型。该类型可以由使用者自己定义,可以解决一些复杂的个体。 二.结构体 2.1结构体的声明 我们在利用结构体的时候一般是用于描述一些有多种…

代码随想录算法训练营第三十一天| 455.分发饼干、376.摆动序列、53.最大子序和

系列文章目录 目录 系列文章目录455.分发饼干贪心算法大饼干喂胃口大的(先遍历胃口)胃口大的先吃大饼干(先遍历饼干)小饼干先喂胃口小的(先遍历胃口)胃口小的先吃小饼干(先遍历饼干) 376. 摆动序…

Claude使用教程

claude 3 opus面世后,网上盛传吊打了GPT-4。网上这几天也已经有了许多应用,但竟然还有很多小伙伴不知道国内怎么用gpt,也不知道怎么去用这个据说已经吊打了gpt-4的claude3。 今天我们想要进行的一项尝试就是—— 用claude3和gpt4&#xff0c…

2024-04-11最新dubbo+zookeeper下载安装,DEMO展示

dubbozookeeper下载安装 下载zookeeper: 下载地址 解压,并进入bin目录,启动 如果闪退可以编辑脚本,在指定位置加上暂停脚本 报错内容说没有conf/zoo.cfg,就复制zoo_sample.cfg重命名为zoo.cfg 再次启动脚本&#x…