Android Studio实现花店App

一、项目概述

花店App使用SQLite数据库、SharedPreferences、RecycleView、Fragment、Adapter等技术完成,数据库的CRUD贯穿几乎所有功能,系统面向的对象分为前台用户和后台管理员,前台用户主要是查看和购买商品等,后台管理员主要负责添加、修改或者删除商品,添加物流信息等。

启动应用,进入欢迎页面,倒计时5秒进入登录页面,选择注册,注册成功后自动跳转至登录页面。登录成功进入主页面,底部导航栏默认显示首页,最上面是轮播图,中间的搜索框可以输入商品名称进行检索,下面可以选择商品的分类,展开对应列表进行滚动查看。点击任意商品进入商品详情页面,可以收藏和加购,左下角能看到商品的收藏量,还能看到其他已购买用户对于商品的评论。在购物车中可以勾选想要下单的商品,调整数量,合计金额会随之变化,可以选择删除商品。点击结算,进入结算页面,选择收货地址。若没有可以添加收货地址,输入收件人的姓名、手机号和地点即可添加成功。余额充足则购买成功,自动返回到购物车页面。在订单页面能查看所有的购买记录,点击收货可以对商品进行评论,还能长按删除已经发表的评论。点击任意订单,可以进入查看物流页面,这里可以看到当前物流信息,由管理员添加物流地点。搜索框中输入订单编号即可查询相应订单。个人信息页面,点击从相册上传新头像;个人信息可以修改昵称和性别;账号安全能够修改密码;我的余额能够充值和提现;地址管理能添加、删除和修改地址,还能设置默认地址我的收藏能看到所有收藏商品;浏览记录能查看所有浏览过的商品;关于店铺可以查看店铺的详情;退出登录可以退出当前登录的账号,返回到登录页面。

使用默认的管理员账号登录系统,进入首页导航栏,可以长按删除商品,单击编辑商品信息,点击添加商品信息。在订单导航栏能查看和搜索所有用户的订单,进入查看物流页面,可以删除和添加物流信息。在个人信息导航栏,能够修改昵称和性别,更换性别时会自动切换头像;账号安全可以修改密码;我的余额能够充值和提现;关于店铺可以修改店铺的信息;退出登录可以退出当前登录的账号,返回到登录页面。

总体而言,系统设计逻辑清晰合理,用户提示友好,使用体验良好,界面美观大方,功能丰富齐全。
在这里插入图片描述

二、开发环境

在这里插入图片描述

三、详细设计

1、数据源

花店App的数据源存放于assets目录下的db,json文件中,包含shop数组、store对象和user数组。在App初次使用时会解析JSON文件,存储到数据库,后续增删改查逻辑就与JSON文件无关了。

  • typeId表示商品类别,0-4分别为:百合花、 玫瑰花、 康乃馨、向日葵、风信子;
  • title表示商品名称,体现出花束的特点;
  • img表示商品图片,值为drawable目录下的图片名称,shop0_1的命名方式代表类别0的第一个商品的图片;
  • content表示商品宣传内容,就是广告词。
  • price表示商品价格,精确到小数点后2位。
    在这里插入图片描述

OpenActivity中读取和解析JSON数据,存储到数据库,解析方式和美食外卖系统相同。

JSONArray shopList = jsonObject.getJSONArray("shop");
JSONArray userList = jsonObject.getJSONArray("user");
JSONObject store = jsonObject.getJSONObject("store");

2、数据库

定义了一个名为MySqliteOpenHelper的类,它是SQLiteOpenHelper的子类,用于管理SQLite数据库的生命周期,包括创建、升级和管理数据库连接。数据库名为store.db,共有10张表,分别对应10个实体类。

//_id为主键并且自增长一般命名为_id
String userSql = "create table user(id integer primary key autoincrement,account, password,name,sex,photo,userType,balance)";//用户
String storeSql = "create table store(id integer primary key autoincrement,name,content,img,address,phone)";//店铺
String addressSql = "create table address(id integer primary key autoincrement,userId,name,phone,location,isDefault)";//地址
String shopSql = "create table shop(id integer primary key autoincrement,typeId,title,img,content,price,date)";//商品
String browseSql = "create table browse(id integer primary key autoincrement,shopId,userId)";//浏览
String cartSql = "create table cart(id integer primary key autoincrement,shopId,userId,amount,isSelect)";//购物车
String ordersSql = "create table orders(id integer primary key autoincrement,userId,shopId,number,amount,date,name,phone,location,isComment)";//订单
String commentSql = "create table comment(id integer primary key autoincrement,shopId,userId,content,date)";//评论
String collectSql = "create table collect(id integer primary key autoincrement,shopId,userId)";//收藏
String logisticsSql = "create table logistics(id integer primary key autoincrement,ordersId,address,time)";//物流

3、逻辑简介

  • MainActivity类的主要作用是作为应用程序的主界面,提供了一个底部导航栏,用户可以通过点击不同的单选按钮来切换不同的片段。同时,它还实现了双击返回键退出应用程序的逻辑。在onCreate方法中,设置了活动的布局和初始化了一些视图组件,而在setViewListener和initView方法中,设置了视图的点击事件和样式。switchFragment方法用于动态地切换片段,而onKeyDown方法用于处理用户的按键事件。

  • HomeFragment实现了一个带有轮播图、选项卡、搜索功能和商品列表的主页界面。代码中的onCreateView方法负责加载布局和初始化视图,initView方法初始化页面布局,包括设置轮播图、选项卡和商品列表,以及加载数据。通过点击搜索图标或在搜索框中输入文本进行搜索商品,并根据选项卡选择的类型加载对应的商品数据。点击商品列表项可以查看商品详情,长按商品列表项可删除商品。

  • CartFragment负责管理用户的购物车。其中包括初始化视图、加载数据、保存购物车项数量和选择状态、更新总价格等功能。它使用RecyclerView和适配器来展示购物车中的商品列表,并响应用户的操作,如增加商品数量、减少商品数量、选择商品、结算和清空购物车等。代码中还包括与数据库交互的操作,通过查询和更新数据库记录来实现购物车数据的持久化存储和更新。

  • OrderFragment包含了加载订单数据、搜索订单、查看订单详情以及添加评论的功能。该片段使用了MySqliteOpenHelper类与SQLite数据库进行交互,并通过RecyclerView和适配器来展示订单列表。用户可以通过输入搜索内容来过滤订单,并可以点击订单项查看详细信息或添加评论。该片段提供了一种方便的方式来管理和处理订单信息。

  • UserFragment包含了显示用户个人信息、修改头像、查看个人信息、账号安全、钱包、地址管理、收藏、浏览记录等功能。该片段使用了MySqliteOpenHelper类与SQLite数据库进行交互,并通过Glide库加载用户头像。用户可以通过点击不同的选项来跳转到相关页面进行操作,例如修改个人信息、修改密码等。还包括退出登录功能,点击按钮后将清除用户登录信息并跳转到登录页面。用户还可以从相册中选择图片作为头像,并将选择的图片更新到数据库中。该片段提供了一个个人中心界面,方便用户管理个人信息和进行相关操作。

四、运行演示

  • 系统有2个默认账号:前台用户(账号user,密码123456);后台管理员(账号admin,密码123456
  • 将电脑上的图片拖拽到夜神模拟器中即可上传到相册,方便用户注册时上传图像。
  • 管理员在编辑或者添加商品时,需要填写图片名。该图片必须在drawable目录中存在,否则无法正常显示。

Android Studio实现花店App

五、源码获取

以下两种方式都可以获取源代码:

直接点击右侧链接下载源代码Android Studio实现花店App
关注公众号《 萌新加油站后台回复:花店

🚀Android项目专栏有你错过的精彩内容
Android Studio实现订餐系统
Android Studio实现考试管理系统
Android Studio实现饮食搭配系统
Android Studio实现美食外卖系统
Android Studio实现天气预报系统

最后推荐4本可以改变命运的经典著作:

  1. 《寿康宝鉴》在线阅读白话文
  2. 《欲海回狂》在线阅读白话文
  3. 《阴律无情》在线阅读白话文
  4. 《了凡四训》在线阅读白话文
  5.    电子书百度网盘下载链接
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

振华OPPO

你的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值