ISSN 1009-3044Computer Knowledge and Technology 电脑知识与技术Vol.8, No.32, November 2012.E-mail: wyl@ Tel:+86-551-5690963 5690964Computer Knowledge and Technology 电脑知识与技术第 8 卷第 32 期 (2012 年 11 月)基于 Android 平台的网上商城系统设计与实现卞秀运(江西城市职业学院,江西 南昌 330100)摘要:随着 Internet 的不断发展,网络在人们的生活中已经占据了不可替代的地位。基于 PC 平台的购物系统可以让人们 足不出户享受购物的乐趣whatsapp网页版登录whatsapp网页版,而基于手机端的在线购物则能使大众随时随地选购自己喜欢的商品。该系统是基于 Android 平台的手机网上商城系统,界面友好、操作简单,有良好的可扩展和可维护性,分为客户端和服务器端两个部分。在客户 端为用户提供登录注册、浏览商品、购物车管理、订单生成管理以及商品评论回复等功能;用户登录可以实现该系统的所 有功能,如果是游客则只能浏览商品。在服务器为管理员提供商品的增删查改、用户信息查询、订单管理等管理功能。关键词:网上购物;Android 平台;商品中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2012)32-7866-05The Design and Realization of Online Shopping System Based on Android PlatformBIAN Xiu-yun(Jiangxi City University,Nanchang 330100,China)Abstract: With the constant development of the Internet, the network has occupied an irreplaceable position in peoples lives. The shopping system based on PC platform can make people never leave home to enjoy shopping pleasure, and the shop? ping based on the mobile phone can make public anytime choose and buy the goods. The system is a mobile phone online shopping system based on Android platform, friendly interface, easy operation, good extensibility and maintainability, and it is divided into client and server. The client provides users log on registration, browse goods, shopping cart management, order form management and commodity review; Users who have logined can operate all functions of the system, but visitors can on? ly view the goods. The server provides goods additions check change, user information query, order management and so on.Key words: Online Shopping; Android Platform; Product随着移动设备的普及和其硬件质量的提升,移动设备的功能日趋完善,所依赖的移动系统平台也是多种多样。网络应用作为 Android 平台应用的一个重要组成部分,正在被越来越多的人所重视。在大多数国家,手机用户都比计算机用户多。作为时下最火 热的移动平台,Android 系统的网络应用开发显得很有价值。手机商务网站潜在的市场比其他任何平台都要大,相信通过对 Android 平台的网上商城系统的实现,能给用户带来新的购物模式。1 系统功能需求在开发此系统前,进行了大量的文献资料的阅读和相关软件的调研。了解了用户的需求,明确了所要开发的软件应具有的功 能、性能与界面。归纳起来,本系统分为客户界面的设计和服务器的搭建,客户端所具有的需求如下:1) 启动TaoBaoClient应用程序,通过多线程实现一个欢迎界面;2) 首页界面:能够显示最新的上架商品,包括有无促销、促销时间、价格、数量等;3) 商品详情界面:能够显示商品详细情况,包括商品价格、销售情况、销售地点等;4) 商品分类界面:能够显示完整的商品类别和商品的最新排行;5) 商品排名界面:能够分别通过人气、信用、价格、销量来进行商品排名;6) 购物车界面:能够显示所挑选的商品,并作商品数量修改等处理;7) 订单详情界面:能够显示已购买商品的订单详情;8) 我的淘宝界面:能够实现登录注册功能,显示个人信息;9) 更多界面:能够实现额外的功能,如商家建议等。收稿日期:2012-11-14作者简介:卞秀运(1981-),男,山东莒南人,江西城市职业学院学工处,研究方向为计算机。服务器端是在 MyEclipse 上加载 Tomcat6.0 插件,主要是利用 Http 通信原理通过 Servlet,响应客户端需求,连接 Sql Server 数据库 并做出用户信息管理、商品信息管理、销售管理等。综上所述,根据客户端和服务器端的需求得出系统功能结构图如图 1 所示。网上商城系统系统前台系统后台用户 登录 注册 修改 模块商品 分 类 浏 览 模 块购 物 车 模 块在 线 支 付 模 块系 统 帮 助 模 块销 售 管 理 模 块管 理 员 模 块商 品 管 理 模 块用 户 登 录用 户 注 册查 看 修 改 用 户 信 息购 买 商 品查 看 购 物 车管 理 购 物 车下 购 物 订 单选 支 付 方 式立 即 支 付购 物 流 程用 户 反 馈关 于 我 们分 享 本 软 件订 单 信 息 查 询添 加 新 用 户删 除 用 户更 新 用 户 信 息添 加 新 商 品删 除 商 品更 新 商 品 信 息新 品 上 市精 品 推 荐特 价 商 品热 销 商 品2 数据库设计图 1 系统功能结构图本系统中有多个数据需要存储,数据量比较大,因此选择 Sql Server 数据库作为存储数据的方法,建立数据表,下面介绍具有代 表性的数据表。表 1 产品信息Product表的结构属性数据类型说明pIdint商品Id号namevarchar商品名称pricemoney商品价格imagevarchar商品缩略图notevarchar商品注释cIdint商品种类Id号表 2 购物车ShoppingCart表的结构属性数据类型说明scIdint购物车Id号uIdint用户Id号pIdint商品Id号countint购物车商品数量表 3 产品种类Category表的结构属性数据类型说明cIdint商品种类Id号namevarchar商品名称parentIdint父类Id号表 4 订单详情OrderInfo表的结构属性数据类型说明oiIdint订单信息Id号pIdint商品品Id号pricemoney商品价格countint商品数量discountfloat商品折扣moneymoney订单总价uIdint用户Id号3 系统设计在程序开发阶段,首先确定“Android 平台网上商城系统”的工程名分别为:客户端 TaoBaoClient 和服务器端 TaoBaoWeb。根据系 统功能需求的的内容,建立 TaoBaoClient 工程和 TaoBaoWeb 工程,为了使客户端源代码的结构更加清晰,也使软件开发更加规范whatsapp网页版,该 项目采用了三层架构体系--表现层、业务逻辑层、数据访问层进行开发,在此基础上扩展到了客户端 TaoBaoClient 工程的组织结构, 其设置了多个包,分别用来保存用户界面、业务处理、数据层、工具和实体类的源代码文件。由于篇幅受限,下面仅介绍具有代表性 文件的名称以及说明。表 5 TaoBaoClient工程的文件用途说明包名称文件名说明cn.mytaobao.uiIndexActivity.java商城首页界面的Activitycn.mytaobao.uiOrderActivity.java个人订单界面的Activitycn.mytaobao.uiFlsahActivity.java商城欢迎界面的Activitycn.mytaobao.loginLoginActivity.java用户登录界面的ActivityProductManager.java客户端处理产品业务的类cn.mytaobao.constantIMyTaoBao.java负责与与服务器端通信的常量类cn.mytaobao.daoProductService.java客户端产品服务类cn.mytaobao.adapterIndexShowAdapter.java实现首页界面与数据统一的桥梁类cn.mytaobao.modelPEvaluate.java商品评价的的实体类cn.mytaobao.toolTool.java工具实体类表 6 TaoBaoWeb工程的文件用途说明包名称文件名说明cn.mytaobao.modelProduct.java产品实体类ProductManager.java服务器端处理产品业务的类cn.taobao.daoIProdcut.java产品接口类cn.taobao.dao.implProductService.java实现产品接口的类cn.taobao.servletProductServlet.java负责与客户端端通信的产品类cn.taobao.sqlserverdbSqlServerHelper.java负责连接 SqlServer 数据库的类4 系统实现4.1 系统首页欢迎界面结束后呈现出首页界面,展示每日精选、热销商品和特价商品等,其中还包含了用户导航栏,能够让用户操作更加轻 松,系统首页如图 2 所示。4.2 选购商品这是本系统的主要功能,能够实现商品的选择,订单的生成和付款,分为商品选购和订单结算两部分.在进入商城浏览商品的时 候可以将喜欢的商品添加到购物车,同时在这个界面可以进行商品数量的修改等操作。与首页界面的实现一样,购物车界面调用 了shopping_cart.xml布局文件,同时编写了桥梁类 ShoppingCartAdpter.java 来实现数据和界面的绑定,主要代码如下:public class ShoppingCartAdapter extends BaseAdapter{private Context mContext;private LayoutInflater mInflater; private boolean isModify = false; private int count;public ShoppingCartAdapter(Context context){this.mContext = context;this.mInflater = LayoutInflater.from(context);图 2 系统首页}}在购物车界面,点击“结算”,用户需要登录,用户登录后,确认商品无误,点击“确认付款”,系统将会实现商品结算功能。选择 喜欢的商品,点击查看其详细情况,商品详情如图 3 所示,同时也能通过浏览详细分类,在搜索栏可以输入商品名进行搜索,如图 4 所示。若用户想要购买,可点击加入购物车或者立即购买,跳转到购物车界面,此界面可以对商品进行修改操作,如图 5 所示。4.3 商品管理图 3 商品详情界面图 4 分类浏览界面图 5 购物车界面由于本系统采用三层架构思想进行开发,所以商品的管理主要是通过表现层 ProductService.java类,业务管理层 ProductManager. java类和数据支持层ProductServlet.java类共同实现的,在此介绍实现从数据库获取全部商品。1)表示层ProductService.java,主要实现了所获取数据的显示,主要代码如下: public class ProductService implements IProduct{SqlServerHelper sqlhelper = null; ResultSet rs = null;public ProductService(){sqlhelper = new SqlServerHelper();}/ * 获得所有产品 */public ListProduct getAllProduct(){ListProduct list = new ArrayListProduct(); String sql = select * from Product;try{sqlhelper.open();rs = sqlhelper.ExecuteQuery(sql); while (rs.next()){Product p = new Product(); p.setNote(rs.getString(note)); p.setpId(rs.getInt(pId)); p.setpName(rs.getString(name)); p.setpPrice(rs.getDouble(price)); p.setpImage(rs.getString(image)); int categoryId = rs.getInt(cId); System.out.println(categoryId + );p.setCategory(new CategoryService().getCategoryById(categoryId)); list.add(p);System.out.println(查找成功@);}return list;}}}} catch (SQLException e){e.printStackTrace(); return null;} finally{try{sqlhelper.close();} catch (SQLException e){ System.out.println(sqlhelper 关闭失败); e.printStackTrace();2)业务管理层ProductManager.java,主要是实现了对获取数据方法的封装,具体代码如下: public class ProductManager {ProductService ps;public Prod
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。