摘要:网上商城系统,是以当前商务的网络化、快速化实际需求为背景,实现商品购买的方便、快捷、送货上门等服务为前提的综合信息服务系统的设计,实现通过Internet 互联网对商品购买的相关信息进行发布及商品查询、商品介绍、商品内容浏览等功能。该文来源于一个Android平台下的实际商业项目,使用多种第三方库的技术,完成手机客户端的设计与实现。商城用户登录后可以实现同登录其他网站商城一样的功能,完成网上购物的需求。本系统所实现的主要功能有:热卖商品展示、商品详细信息展示、购物车功能、订单处理功能、收藏夹功能、用户账户管理、用户收货地址管理、用户订单管理等。
关键词:网上商城;Android;第三方库
1、Android 平台简介
Android 是一种以 Linux 为基础的开放源码操作系统,主要应用于便携设备。开源和免费供用户下载使用的特点,使得Linux 的开发人员基群大,同时越来越多的智能手机开发商更倾向于研发 Linux 手机来降低公司的成本。
Android 支持使用 Java 作为编程语言来开发应用程序,而Android 的 Java 开发方面从接口到功能,都有层出不穷的变化。考虑到 Java 虚拟机的效率和资源占用,谷歌重新设计了Android 的Java,以便能提高效率和减少资源占用,因而与 J2ME等不同。
2、系统总体框架
本系统总体结构主要由两部分构成:客户端和服务器端,客户端是建立在手机操作系统及其硬件之上的,服务器端是建立在应用服务器、服务器和数据库库服务器之上的。针对本系统抽象出表现层、逻辑层、持久化层和通信层,分层设计的理念可以降低各个模块之间的耦合性,明确各个模块的职责,从而增强了系统的扩展性。表现层,在本系统中特指客户端界面,它负责给用户呈现直观的界面,用于接收用户的请求。通信层,作为表现层和逻辑层之间的纽带,负责这两层之间的联系,具体来讲负责连接、组装数据、解析数据等。逻辑层,在本系统中特指应用服务器,采用这一框架来处理来自层的请求,进行对应的业务逻辑处理。持久化层采用面向对象的设计理念,通过的映射来实现对数据的持久化处理。
3、概要设计
随着手机用户的日益增多,手机网上购物必然成为一种很好的营销模式。现在各大电子商务网站都拥有自己的手机客户端,消费者不仅可以通过机购买物品还可以通过手机客户端来购买商品。针对自己的电子商务网站打造属于自己的手机客户端购物软件,成为商家的一个选择,本系统正是在这种背景应运而生。
本系统所实现的主要功能有热卖商品展示、商品详细信息展示、购物车功能、订单处理功能、收藏夹功能、用户账户管理、用户收货地址管理、用户订单管理等。
4、功能实现
4.1 Android手机端的整体架构
网上商城系统采用MVP架构,其中View对应于Activity,负责View的绘制以及与用户交互,Model是业务逻辑和实体模型,负责提供数据,Presenter负责逻辑的处理,也就是View与Model间的交互。View并不直接使用Model,它们之间的通信是通过view与Presenter交互来进行的,所有的交互都发生在Presenter内部,通过接口来进行的,通常View与Presenter是一对一的,但复杂的View可能绑定多个Presenter来处理逻辑。MVP架构减少了Activity的职责,减轻了它的负担,简化了Activity中的代码和一些操作,将逻辑代码提取到了Presenter中進行处理,降低了其耦合度。
使用bottom nagivation activity作为系统框架,结合Fragment实现首页、热卖、大全、购物车和我的五个底部菜单项,为了降低系统耦合度,提高代码复用度和灵活性,设计封装了基础Activity和基础Fragment,设计了自定义ToolBar,根据需求在每个Fragment中使用不同的ToolBar。由于每个fragment的显示数据都通过网络来源于服务器,所以进行了使用OkHttp技术封装了网络访问。服务器提供的数据采用json接口方式,使用gson解析封装数据解析方式。此外还有分页代码封装、购物车数据访问组件封装以及其它工具类封装。
4.2首页模块
首页模块负责展示炫酷的轮播广告以及促销商品分类显示,点击分类项,显示该类所有商品,可以实现列表显示及网格显示的切换,并可选择按默认、价格及销量进行商品项排序。点击商品项就可以显示商品详情,并实现分享功能。通过网络访问、数据解析等高级封装获取数据;使用slider技术完成图片的轮播,并设计动画和过渡效果;使用RecyclerView和CardView设计显示美观的商品分类布局;通过Native与HTML5交互访问服务器的文件,显示商品详情,并加载Mob提供的分享SDK实现商品分享到微博、QQ或者微信。
4.3热卖商品模块
该功能显示所有的热卖商品列表,并显示商品的名称、缩略图以及价格等信息。商品信息数据同样通过访问服务器数据库获取,使用Fresco技术方便快速的从网络加载以及绘制图片;利用分页代码封装实现分页功能;使用RecyclerView结合SwipeFefreshLayout和MaterialRefreshLayout控件实现下拉刷新上拉加载更多的功能。
4.4 大全模块
该模块通过分类列表显示商城内的所有商品,并显示商品的名称、缩略图以及价格等信息。
4.5 购物车模块
用户点击商品项的立即购买按钮,商品就会出现在购物车中,购物车模块,可以看到添加的商品数据,并显示总价格,同时可以编辑购物车的数据,并模拟支付过程。使用SharedPreference实现购物车数据存储;自定义数字加减控件实现购物车总价的统计;通过引入Ping++提供的支付SDK模拟完成支付功能。
4.6 我的模块
该模块完成登录、注册、维护收货地址、查询我的订单及收藏等内容。实现登录功能需完成API权限校验和APP安全校验,设计自定义ClearEditText控件用于用户名和密码的输入,使用DES算法加密工具类实现密码加密;注册功能需要集成Mob的短信集成SDK,通过短信验证完成注册,并设计倒计时类用于重新获取验证码;可以维护多个收货地址,并设置默认的收货地址,使用pickerView选择器选择具体的地址信息,例如省、市、区及街道信息;
5、结束语
本系统是一个基于Android平台的网上商城系统,该系统具备一个可以商用的几乎所有的条件,实现了用户和商品的管理。本文介绍了该系统所有模块的设计、功能和可以使用的技术,为以后系统功能的更新和升级提供依据。
参考文献:
[1]黑马程序员.Android移动开发基础案例教程.人民邮电出版社,2017年1月
[2]孙凯. 移动互联网环境下品牌信息内容呈现对消费者参与的影响研究[D]. 长春: 吉林大学, 2016
作者简介:王倩,女(汉),1981年11月生,山东淄博,现为淄博职业学院信息工程系讲师,主要研究方向:计算机软件技术。