购物商城
1. 功能实现
1.1 引导页
引导页使用第三方的一个banner框架实现,自动循环播放设置的引导图,程序内置4个图,循环自动播放,点击进入,进入到登陆页面。
1.2 登录/注册
登录页面,输入手机号和密码,支持记住密码。
注册页面,输入手机号后,获取验证码(只是例子),按钮倒计时60s后可再次获取,注册时会检查手机号是否可用。
1.3 首页
首页包含banner、搜索栏、溢出菜单和推荐商品瀑布流式列表,主要使用ToolBar、第三方banner组件、RecyclerView实现。
点击购物车图标,可将商品加入购物车。由于图片差不多都是正方形的,所以瀑布流采用的是随机高度,利用随机高度差,形成瀑布流视觉效果。
1.4 商品列表、搜索
商品列表页,使用RecyclerView实现,顶部搜索栏使用ToolBar。
输入关键词,查询数据库中标题或商品信息包含关键词的商品,可点击加入购物车或更多展示上下文菜单。
1.5 商品详情
商品详情页,按照要求,展示商品图片、标题、详情。
点击加入购物车,商品加入到购物车列表。点击右上方的溢出菜单,也可实现加入购物车和返回的功能。
1.6 购物车列表
购物车列表,可以对每个商品的数量进行增加或减少,可以勾选要买的商品,也可以全选。
点击商品,弹出菜单,可以选择查看或移除商品。下方实时展示所选中商品的总额。
1.7 收藏商品
在商品详情页面中,点击标题右侧的心形图标,可收藏商品,此操作将记录在数据库,下次再进入详情页,图标则是取消收藏的状态。
1.8 商品评价
在商品详情的最下方,展示发布评价功能和评价列表
对商品可以发布评价,发布的内容会记录到数据库,其他用户登录后,也可看到,用户名采用*进行脱敏处理。
2. 数据存储
2.1 SQLite数据库存储
程序的数据库存储,使用Android Room实现,根据官方文档配置。
在build.gradle中加入依赖,按照文档书写实体类和Dao,可以快速实现对数据库操作,不用再花精力书写建表sql语句。
2.2 共享参数存储
使用SharedPreferences实现了记住密码功能,将登录成功的用户,以json形式存储到SharedPreferences中。
下次程序启动后,检测如果SharedPreferences中有用户信息,会将信息读取,自动登录。