基于Android的超市购物系统的设计与实现
2019-10-25刘鹏通化师范学院计算机学院
刘鹏 通化师范学院计算机学院
一、绪论
在高节奏生活的现代社会,如何节约时间,如何高效率的应用时间,已经成为所有人都会去思考的问题.基于Android平台的超市购物系统正好使得人们节约下了购物的时间,而且使得人们更好的利用一些在等待的时间.没有了时间和空间的限制,购物就变得更加便捷,更加人性化了.此超市购物系统(百米超市)是本人在公司所完成的项目之一,是针对解决一个小区内的用户能如何在手机在线购买本小区内超市的商品的问题,且商家只给自己小区的用户送货,实现能够在最短的时间送货上门.
二、系统分析
1 业务流程的概述
用户进入首页后看到的界面从上到下依次是位置定位、广告图片、超市列表,用户点超市列表的某个超市即可进入所有的商品浏览界面,在商品浏览界面点击任意商品,用户就能了解该商品的详细信息.若用户喜欢该商品,可将其加入购物车,随时结算,提交订单,即完成了一次购物.
2 系统结构分析
本系统是一款在智能手机上超市购物的应用, 总共分为五个大功能模块:首页显示模块、商品浏览模块、购物车模块、查看订单模块、我的模块,主要目的是设计一款方便消费者在手机上超市购物的应用.
2.1.首页模块
首页模块显示的首先横向的广告和竖列的超市信息,横向能左右滑动竖向能上下,用户在首页上方或下方超市列表处点击超市就能进入到该超市的商品浏览页面,在商品浏览页面中用户可根据自己的需要将该商品加入购物车,数量也是可自由增加或减少的.
2.2.商品浏览模块
用户可以通过上下滑动,直观地浏览商品列表中的商品,点击特定的商品图片可以查询商品详情.在商品列表功能中,运用到了Android的一个ListView的控件,该控件可以通过数据库中建表的商品对象的名称,加载出JAVA中对应的实体对象,从而方便快捷地将表中的商品内容用界面展示出来.
2.3.购物车模块
用户在查看超市商品之前须先登录自己的账号和密码,没有登录的话该界面会提示"请登录"的消息.该模块能实现的功能有:将要买的商品添加至购物车中、编辑商品数量直到满足自己的需求、把加入购物车中的商品显示出来.
2.4.订单模块
该模块的功能有:提交已付款的订单、选择适合自己的支付方式、全部费用结算、查看已完成的和未完成的订单.在购物车中确定要买的商品进行费用结算,然后完善收货信息(对于备注,可表明对商品的需求)就完成了订单,跳转到支付页面,显示若干种付款方式,用户按照适合自己的付款方式,此项订单就产生了.
2.5.我的模块
我的模块主要包括:管理收货地址、推荐店铺、关于百米超市、全民经纪人、帮助、设置.例如:增加新的收货地址或者删除已经不用的收货地址,帮助则给客户解答一些疑惑和怎样使用该软件.
三、总体设计
1 总体功能
该系统分为前台客户端和后台管理端:前台主要是用户的注册、登录、购物,后台主要是管理员对商品、订单的管理,在整个系统中他们具有不同的功能和权限.如图1所示.
图1
客户端的主要使用对象是普通用户,分为用户登陆,用户注册,商品搜索,商品分类,购物车;后台管理模块的主要使用对象是管理员,分为管理员登陆,商品信息管理,订单信息管理.
2 客户端
客户端是供用户购物的,其包含了用户的登录、浏览商品、加入购物车、查询订单、面对面支付等功能,它负责直接和用户交互的功能.
用户进入软件如果以前登录过就会把订单记录重新显示,只有登录过后才能把商品加入购物车或够买商品,没有登录的话系统会跳到登录界面提示用户先登录.其功能流程图如图2所示:
图2 客户端系统流程图
3 服务端
服务端主要用于服务端的管理员管理用户、商品和订单等方面,用户包括用户名、密码、电话等一些个人信息,商品包含商品名、图片、价格、数量等信息,订单包括时间、地址等属性信息.其E-R图如下3所示:
图3 E-R图
4 E-R图
系统管理员主要管理用户,商品,订单,商品类型四个方面.用户主要包含了,ID,昵称,密码等属性;商品主要包含ID,名称,价格等属性;订单主要包含ID,订单状态等属性;商品类型主要包含ID,类型名称等属性.如下图4所示:
图 4 E-R图
四、系统实现
1 欢迎界面的实现
用户首次进入APP,用户首先了解到APP内容的便是欢迎页,欢迎页一般会用图片的形式将APP的主要特点给用户直观地展示出来.欢迎页面有个登录判断,若用户首次登录,则跳到登录界面,若用户已经登录过则跳到主界面.如图5所示
图5 欢迎界面
欢迎界面加载开机图片的代码:
2 登录界面的实现
用户登录:通过访问服务器登录接口,将对应的用户名(手机号)和验证码传到数据库t_people表里,获得接口传到的result的值,从而判断可否登录.如果没有注册,服务端会以手机号为账号自动注册用户.如图6所示:
图6 登录界面
3 商品浏览界面功能的实现
(1)商品浏览界面功能:用户可以通过上下滑动,直观地浏览商品列表中的商品,点击特定的商品图片可以查询商品详情.在商品列表功能中,运用到了Android的一个ListView的控件,该控件可以通过数据库中建表的商品对象的名称,加载出JAVA中对应的实体对象,从而方便快捷地将表中的商品内容用界面展示出来.如图7与图8所示:
图8 商品详情界面
(2)购物车功能:购物车主要用来浏览已添加到购物车的商品列表和进行购买前数量的选择操作,用户可根据选择点击加减按钮进行数量的选取和删除,这些信息全部保存在客户端,因此购物车模块功能的实现并不需要和服务器进行交互.购物车的主界面如图9所示:
图9 购物车界面
4 提交订单界面的实现
提交订单界面主要有三部分构成,分别是用户的收货地址信息,购买的商品信息,和备注,通过这几部分的集合视图,可实现不同的信息的展示.提交订单界面如图10所示:
图10 结算界面
5 完成订单界面的实现
完成订单界面是实现一次购物的流程的最后模块,根据需要支付方式有支付宝面对面,微信面对面,货到付款三种支付方式,用户可以自由选择支付方式,商家送货上门后当面结清货款.提交订单界面如图11所示:
图 11完成订单界面
6 订单查询界面的实现
订单查询界面主要由ListView实现,可以了解每个订单的商家和所购买的商品及订单状态.订单界面如图12所示:
图 12订单查询界面
7 订单详情界面的实现
订单详情界面主要展现订单的详细信息,如订单号、商家信息、所购商品信息、订单提交时间、商家确认时间、订单完成时间、买家留言和支付方式等,还有点击再来一单可以进入超市在这单的基础上进行购物.订单详情界面如图13所示:
图13 订单详情界面
8 我的界面的实现
我的界面主要包括:地址管理、推荐店铺、关于百米超市、全民经纪人、帮助、设置.例如:地址管理可增加新的收货地址或者删除已经不用的收货地址,推荐店铺可以根据店铺的推荐码把常用的店铺置顶从而方便购物,帮助则给客户解答一些疑惑和怎样使用该软件,设置里则有清除缓存和退出登录功能.如图14-图16所示:
图 14我的界面
图 15地址管理界面
图16 帮助界面
7 结论与讨论
这套系统是我们对大学课程所学知识的全面应用,是应用理论知识分析实际问题、解决实际问题能力的真实反映,也是对教师教学效果的一次全面反馈.我所做的课题是基于Android的超市购物系统,由于此应用开发时间短,所以一定会存在许多不足之处,因此在以后的用户使用中会不断完善和优化.此外在设计的过程中,走了很多的弯路,发现自己有很多的不足,对开发工具的掌握不是很全面,因此我应该多学习一些编程技巧与思想,使自己的能力得到提升.