一、需求
本App主要实现了用户的登录,商品的浏览,购物车查询等功能,如下表所示
二、主体框架
2.1 整体框架
2.2 数据的流向
数据类型 | 数据流向 |
---|---|
交易商品信息 | 数据库->客户 |
商品类别信息 | 数据库->客户 |
订单状态及信息 | 数据库->客户(仅保留于本机) |
用户个人信息 | 数据库->客户 |
购物车信息 | 数据库->客户(仅保留于本机) |
交易支付情况 | 数据库->客户 |
三、数据库设计
3.1 整体设计图
- 用户地址表
- 订单详细表
- 菜单标签表
3.2 数据库表
3.3 数据库表关系图
四、实现
4.1 代码的组成
4.1.1 后端代码组成说明
客户端使用了SpringBoot框架,主要可分为Mapper层,Service层,Controller层,Bean层,接下来以图片配文字的形式说明大致功能。
4.1.2 客户端代码组成说明
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XAe1Qc0c-1654654426418)(https://www.writebug.com/myres/static/uploads/2022/6/7/c6cd1667534e62bdd6dabdaf635a92d0.writebug)]
4.2 编码风格约定
本次项目我们使用的是Git远程协作,代码规范是参考书本的MVVM框架,具体编写风格也与书本上的类似,具体文件命名风格以及框架率先布局都是在正式编写代码前讨论好的。
接下来展示下在一个月左右时间我们在Gitee上更新的代码情况数据。
4.3 文件清单
五、使用说明
5.1 主界面
5.2 验证码登录界面
5.3 密码登录界面
5.4 商品界面
5.5 口袋(购物车)界面
5.6 我的页面
5.7 消息推送
六、使用到的技术
后端:
-
运用SpringBoot
-
阿里云Linux
-
Nginx
-
Https技术
-
接口数据令牌传输
-
私密数据MD5加密
前端:
-
运用MVVM框架
-
运用RecycleView实现页面滑动列表
-
运用cardView卡片式布局
-
运用SQLite实现用户部分信息的存储
-
运用SharedPreferences文件存储功能
-
运用库Retrofit发送网络请求解析数据
-
运用MaterialDesign进行UI界面开发
-
运用Glide库进行网络图片读取
-
网络数据实现双向绑定
-
运用腾讯云消息推送机制
-
运用腾讯云云短信
-
Kotlin协程
-
Kotlin特殊函数
-
协作工具:git
-
平台:gitee
七、小结
安卓开发使用了新的语言Kotlin,相对Java,kotlin的资料是非常少的,案例也是很少,在这次课程设计中我也是花了很多时间找相关资料,《第一行代码》这本书前前后后也翻了好几遍,也渐渐明白了Kotlin语法糖的一些特性,编写代码的习惯也有了较好的规范。在后端方面,因为对SpringBoot有一定的实战经验,所以此次我包括了后端开发,后端功能我写的并不多,但现有的功能的逻辑性细节还是挺强挺多的,比如用户这一方面,除了个人信息之外,还添加了密码加盐加密,携带令牌Token等,后端增加了短信验证码功能。我比较喜欢探究新的东西,这次界面设计上,还运用了完全的卡片式布局,消息推送,启动页广告,夜间模式等功能,这些功能实现起来并不容易,但是也挺有趣的。