作者 | maxcion
地址 | http://blog.csdn.net/maxcion/article/details/78430550
声明 | 本文是 maxcion 原创,已获授权发布,未经原作者允许请勿转载
我支持:这样的大学生
本文来自一位大学生的投稿,上周四晚我快睡觉的时候看了邮件,很有感触:虽然很多人都已经有几年工作经验了,但是在求学的态度上我个人感觉还是有很大的问题,这位同学的心里话,让我感同身受,我仔细看了文章,技术甚至不比有一年工作经验的差,也很愿意帮助同行,所以,今天这篇文章出炉了。
项目说明
项目主页:https://github.com/Likeyong/LegouMall
整个项目采用 MVC 框架,实现了用户登陆、注册、购物车订单的增添、删除、商品查询、二维码扫描与生成、商品分享等功能。实现了对 6.0 以上的设备进行适配
实现功能
-
登陆注册&网络框架搭建
-
主页框架搭建
-
数据库搭建&用户加密保存
-
首页(横向列表&广告栏&嵌套的滑动界面)
-
分类(代码动态创建 2、3 级分类布局)
-
商品列表(侧滑列表)&商品详情
-
购物车列表&清单确认
-
订单列表对应的各种订单状态查询
启动页面
-
欢迎界面
欢迎页面使用渐变动画 AlphaAnimation 设置为三秒,并对动画设置监听 setAnimationListener 实现动画完成自动转跳至登陆界面
-
登陆及注册界面
登陆及注册页面使用 TextInputLayout 实现动态输入动画
整体框架
整体框架分为 首页、分类、购物车、我的 四大板块,通过一个HomeActivity+ 四个 Fragment 实现
首页
首页使用自定义控件 ScrollView 通过重写 overScrollBy 方法修改Y轴方向可拉伸距离,首页实现了 1.二维码扫描其他用户分享的商品链接转跳至商品详情(长按选择本地图片扫描,短按相机扫描;2.使用科大讯飞提供的API进行语音识别全局搜索;3.横向滑动的商品秒杀;4.定时更新商品列表的猜你喜欢)
分类
分类页面通过左边 RecyclerView + 右边自定义二级分类控件组合而成。具体的二级分类请看 ui 下的 SubCategoryView,有详细的注释
购物车
购物车实现了多选结算总结,点击结算按钮会转跳至下单页面,进行地址更改以及添加地址、在线付款(因为支付宝接口升级,未实现)、货到付款
我的
实现了展示用户信息,退出登陆以及订单列表功能。订单列表内实现了全部订单、待支付订单、待收货订单、已完成的订单四大板块,每一种状态对应一种功能。待发货订单通过“提醒买家发货”实现发货,待收货订单可以“确认收货”实现收货。
商品列表
商品列表可以通过,首页的全局搜索、秒杀、分类页面转跳。列表可以通过顶部的四种排序进行重排序,以及 DrawLayout 实现品牌、价格、配送方式等进行筛选
商品详情页面
商品详情界面:通过 Viewpager 实现:商品主页、详情、评论三个页面
以及分享按钮实现生成商品二维码,长按二维码进行保存,分享给朋友,朋友扫描转跳至商品详情页面
二维码
扫描二维码:在首页长按二维码实现扫描本地二维码进行转跳,短按扫描按钮实现相机扫描二维码转跳至对应的商品详情页面
使用的开源框架
-
ButterKnife
-
Glide
-
Fastjson
-
Rvadapter
-
Zxing
使用的设计模式
-
模版模式
-
适配器模式
-
构建着模式