电子技术与软件工程
Electronic Technology & Software Engineering
软件开发与应用Software Development And Application
基于Android系统的手机网上商城设计与实现
王娟
(山西华澳商贸职业学院山西省晋中市030600 )
摘要:本文设计并实现一个基于Android平台的手机网上商城。用户可以通过Android系统手机登录该商城,登录商城之后,可以 完成对商品的搜索,浏览,购买支付,同一款商品之间价格的比对,以及用户可以针对购买的商品进行撰写详细描述和使用感受等功能。
关键词:Android系统;手机网上商城;GreenDao框架;SQLite
1研究背景
随着计算机和网络的日趋普及,网络在人们的生活中占据了不 可替代的地位。根据CNN丨C发布第46次《
中国互联网络发展状况 统计报告》显示,截至2020年6月,我国移动端网民规模达9.40亿,互联网普及率达67.0%。如今,手机移动端购物相对PC购物方式 来说更加的简单、快捷、操作方便,人们不必被限制在电脑前购物,也不用刻意的时间去上网购买商品,不需要在客服固定的上线时 间咨询产品信息。只要拥有一款Android智能手机,你就可以随时 随地的查看商品,这很大程度上来说大大的增加了购物的效率。
目前国内各大网站都有自己对应的手机客户端,他们抓住手机 网上购物的消费者,从而更好的提高自己的销售额度。国内优秀的 手机移动客户端用户基大,数据交互庞大。尽管国内己经有了很 多优秀的APP客户端,但是从客户端的不断更新,功能上推陈出新,以及用户提出的使用习惯,需求,货品种类更新来考虑,开发设计 一个更加新颖的APP永远是这个市场最需要的。
设计并实现一个基于Android平台的手机网上商城。用户可以 通过Android系统手机登录该商城,登录商城之后,可以完成对商 品的搜索,浏览,购买支付,同一款商品之间价格的比对,以及用 户可以针对购买的商品进行撰写详细描述和使用感受等功能。
2系统需求分析
—个基于Andmid平台的手机网上商城系统,该系统提供用户 注册和用户登录功能,登录商城系统后用户可完成商品浏览,商品 搜索,购物车,发表商品笔记,浏览商品笔记,订单管理等一系列 功能。
3系统详细设计
3.1登录模块设计
登录模块主要包括LoginActivity、Userlnfo三个类文件。其中:LoginActivity文件是登录页的主页面,实现登录页面的U I展 示和登录逻辑处理,该文件实现OnClickListener接口的OnClick方 法,用于响应用户触发登录按钮的点击事件处理。
Userlnfo文件存储用户登录名、密码,手机号,收货地址等相 关参数的Bean对象。
12注册模块设计
注册模块主要包括Register A ctivity、Userlnfo三个类文件。其中:RegisterActivity文件是注册页面的主页面,实现注册页面的 U I展示和注册功能逻辑处理,该文件实现OnClickListener接口的 OnClick方法,用于响应用户触发注册按钮的点击事件处理。
Userlnfo文件存储用户登录名、密码,手机号,收货地址等相 关参数的Bean对象。
3.3商品搜索模块设计
商品搜索模块实现商品的搜索功能,商品价格比一比功能,加 入购物车功能。主要包括 SearchActivity、DaoUtil、ProductInfo三 个类文件。其中:
SearchActivity文件是搜索功能的主页面,实现搜索页面的U I展示和搜索功能逻辑处理,该文件实现OnClickListener接口的OnClick方法,用于响应用户触发搜索按钮的点击事件处理。
ProductInfo文件是存储商品fg息如:商品名、商品价格,商品 图片等相关参数的Bean对象。
DaoUtil文件是针对数据库操作的文件,调用QueryProductlnfo (String name)方法,根据关键字从数据库中查相关商品并以集合 的方式返回。
3.4购物车模块设计
购物车模块可对商品完成删除,选中,支付操作。主要包括 ShoppingCarActivity 文件。
ShoppingCarActivity文件是购物车模块的主页面,实现购物车 页面的U I展示和购物车商品选中,商品删除,商品支付逻辑处理,该文件实现OnClickListener接口的OnClick方法,用于响应用户触 发选中按钮,删除按钮,支付按钮的点击事件处理。
3. 5订单糢块设计
订单模块主要为了便于用户查看自己的支付订单,目前只支持 查看功能。主要包括 OrderListActivity、DaoUtil、Orderlnfo三个类文件。其中:
OrderListActivity文件是订单模块的主页面,实现订单页面的 U I展示和逻辑处理,该文件实现OnClickListener接口的OnClick 方法,用于响应用户刷新列表的事件处理。
Orderlnfo文件是存储订单信息如:订单号,商品名、商品价格,商品图片,用户名,订单时间,订单数量等相关参数的Bean对象。
DaoUti丨文件是针对数据库操作的文件,调用QueryOrderList (String userName)方法,根据用户名从数据库中查该用户的所有 订单信息列表,并以集合的方式返回。
3.6发布商品笔记糢块设计
该模块用于用户购买商品之后,针对商品编写详细描述和使 用感受,并发布到该系统平台上供其他用户浏览。模块主要包括 SendNotesActivity文件。
SendNotesActivity文件是发布商品笔记模块的主页面,实现发 布笔记页面的U I展示和逻辑处理,该文件实现OnClickListener接 口的OnClick方法,用于响应用户触发发布笔记按钮的点击事件处理。
3. 7商品笔记浏览模块设计
笔记浏览模块主要包括NotesListActivity、Noteslnfo文件。其中:NotesListActivity文件是笔记浏览模块的主页面,实现笔记 页面的U I展示和逻辑处理,该文件实现OnClickListener接口的 OnClick方法,用于响应用户刷新列表的事件处理。
Noteslnfo文件是存储笔记信息如:用户名、发布时间,笔记 标题、笔记内容、笔记图片等相关参数的Bean对象。
3. 8商品浏览模块设计
网上购物的网站商品浏览模块用于展示商品信息,该模块除浏览功能外还可以对商品进行价格比对,添加购物车的功能。主要包括ProductListActivity文件。其中:
ProductListActivity文件是商品浏览模块的主页面,实现商品浏
43
软件开发与应用
Software Development And Application
电子技术与软件工程
Electronic Technology & Software Engineering
览页面的U I 展示和逻辑处理,该文件实现OnClickListener 接口的 OnClick 方法,用于响应用户刷新列表的事件处理。
3. 9个人信息模块设计
个人信息模块用于管理个人信息,用户可更改自己的账户名, 手机号,收货地址,身份证等信息。该模块主要包括Persionlnfo Activity、Userlnfo 文件。其中:
PersionlnfoActivity 文件是个人信息模块的主页面,实现个人信 息页面的U I 展示和功能逻辑处理,该文件实现OnClickListener 接 口的OnClick 方法,用于响应用户触发保存按钮的点击事件处理。
Userlnfo 文件存储用户登录名、密码,手机号,收货地址等相 关参数的Bean 对象。
3. 10商品支付模块设计
商品支付模块采用第三方支付宝支付。主要包括OrderDetai 丨 Activity 文件。其中:
OrderDetailActivity 文件是支付模块的主页面,实现支付页面 的U I 展示和功能逻辑处理,该文件实现OnClickListener 接口的 OnClick 方法,用于响应用户触发支付按钮的点击事件处理。
3. 11数据库结构设计
本系统采用的是SQLite 数据库,存放着系统页面中的动态数据,
基于系统功能需求中的各项功能,数据供需4张表。分别是用户信
息表、商品信息表、文章信息表、订单信息表。(1) 用户信息表。用户信息表具有用户丨D ,用户昵称、密码、 手机号、收货地址、身份证等基本信息。设置用户uid 为主键,主 键的生成策略采用自动增长的方式。
(2) 商品信息表。商品信息表具有商品ID 、商品名称、商品
价格、商品图片、商品描述等基本信息。设置商品ID 为主键,主
键的生成策略采用自动增长的方式。
(3) 笔记信息表。笔记信息表具有笔记ID 、笔记标题、笔记
描述、笔记图片、用户ID 、发布时间等基本信息。设置笔记ID 为
主键,主键的生成策略采用自动增长的方式。
(4) 订单信息表。订单信息表具有订单编号、用户Id 、用户
昵称、用户姓名、用户手机号、收货地址、商品名称、商品数量、
商品价格、订单状态、订单日期等。设置订单编号为主键。4系统实现
手机购物商城是一个完善的购物系统,用户能够完成商品浏览、
商品购买、商品搜索、购物车、编写商品笔记、查看商品笔记等功能。 根据系统功能区分共涉及16个页面,具体有登录页面,注册页面, 首页,购物车页面,搜索页面,订单管理页面,个人信息管理页面等。
4. 1登录功能
登录页面是指需要提供账号密码的页面,用户输入自己的账号 和密码进入商城系统。
4. 2注册功能
注册页面用户提供账号,密码,手机号,身份证号,收货地址 等注册信息,系统对注册信息的格式进行检查,注册成功后跳转系 统首页并将注册信息插入数据库。
4. 3首页
首页是系统的主页面,该页面提供首页、发现、编辑、购物车、 我的这5个功能按钮,分别对应商品浏览、浏览商品笔记、发表商 品笔记、添加购物车、个人信息管理这五个功能。
4. 4搜索页面
检索商品的信息,输入框中输入关键字,点击搜索按钮将所有 检索到的商品信息在列表展示,该功能的意义在于,面对琳琅满目 的商品,用户根据自己的需求快速定位商品,节省时间提高效率。
4. 5购物车页面
用户可将选中的商品放入购物车,页面展示商品名,商品价格, 商品图片等信息。在购物车页面用户可完成商品的选择,商品删除, 和立即支付三个功能。
4. 6编辑商品笔记
该页面是用户针对购买的商品撰写商品的详细描述和商品的使 用感受,商品编辑支持文字描述和添加图片,商品编辑完成后,点 击发布按钮,将编辑信息和图片保存数据库。
使用EditText 控件支持文字输入,文字换行。
使用InputStream 和OutputStream 输入输出流,读取图片信息, 并将图片信息利用OutputStream 输出流写入本地文件。
4. 7浏览商品笔记
用户发表商品笔记后可在该模块查看,也可以浏览其他用户发 表的笔记。该功能的意义在于帮助用户更加详细的了解商品,从用 户需求来说,比较人性化。
笔记列表,展示所有用户发表的笔记,支持上拉刷新,笔记展 示信息有商品图片,笔记标题,用户名,笔记发表时间等信息。使 用 / Recyclerview 、Adapter 、GridLayoutManager 技术,在布局重用,代码简洁性方面来说有很大的改善,布局采用两列布局,界面美观 大方。
4.8我的页面
页面主要对一些信息的管理,功能分为三部分个人资料管理、
订单管理、退出系统。4. 9比一比功能比一比功能是一个很人性化的设计,充分根据用户的需求所设
计,通过比一比功能用户可以花最少的时间买到最便宜的商品,大
大提高用户效率。在商品浏览模块,长按某一个商品图片,弹出比
一比功能按钮,点击比一比按钮后,系统将商品名作为关键字在数
据库中查相关信息,并显示在当前列表中,用户可加入购物车等
执行一系列的后续操作。
5总结本系统采用Android 技术和SQLite 数据库相结合而成。程序 采用Java 语言编写,利用Java 面向对象的继承和封装特性,程序 对公共代码部分做了很好的封装,大大的提高了系统的开发效率。
系统集成了 GreenDao 框架,GreenDao 是一个将对象映射到SQLite 数据库中的轻量且快速的ORM 解决方案,RecyclerView 内部封装 了 viewholder 的回收复用,并提供一个耦合度更低的方式来复用 ViewHolde ,故代码实现更加简单,也很好的解决了卡顿和布局错 位的问题。
未来随着移动端用户越来越多数据越来越庞大,为了能够 很好的对数据进行管理,再者考虑订单支付安全性,后续将结合 JavaWeb 技术实现客户端与web 服务器的网络交互。客户端的订单 列表等数据均从后台数据库拉取,保证了数据的唯一性。
参考文献[1] 李刚.疯狂A nd r oi d 讲义[M ].
电子工业出版社,
2019.[2] 明日科技.J a v a 从入门到精通[M ].清华大学出版社,2019.[3] 沈哲.RxJava 2. x 实战[M ].电子工业出版社,2018.[4] 郭志宏.A n d r o i d 应用开发详解[M ].电子工业出版社,2010.[5] 顾浩鑫.A n d r o i d 高级进阶[M ].电子工业出版社,2016.[6] 姜维.A n d r o i d 应用安全防护和逆向分析[M ].机械工业出版
社,2017.
作者简介
王娟U 985-),女,山西省晋中市人。大学本科学历,助教,教 研室主任。研究方向为电子商务。
44
发布评论