蒋珊珊
摘要:随着我国科技与经济的不断发展,人们生活质量不断提高,“网购”这种消费模式,已经进入寻常百姓家,比如手機淘宝、京东、易迅、拍拍等等,但是这些客户端都是基于门户网站的,他们所提供的服务范围广却不够细致,比如商城内商品定位,查看商城内部地图等等。因此各大商城对于开发自己的客户端拥有很高的热情。当前市场上最流行的手机操作系统就是——Android、IOS、Windows Phone,其中安卓是Google公司旗下研发的用于手机平台操作系统,以完全开放的平台风格,并且不会造成以往任何阻碍移动发展的挡路石,成为平台的领军人。文章围绕商城的建立需求和技术信息,一一扩展详细讲述整个应用的实现过程。
关键词: Android;智慧商城;MVC;移动互联
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)27-0210-02
商城作为商品零售的终端平台,在传统的商业活动中占据着重要的地位。随着网络购物和物流的迅猛发展,消费者通过网络平台购物和消费的比例急剧增长,对传统商城的销售模式造成了很大的冲击。
移动互联技术的发展,通过手机客户端进行购物消费正在成为一种时尚,其所占比仍将继续扩大。这部分用户对于商城而言,代表着巨大的商机,如何吸引这部分用户进入商城购物,是各大商城面临的巨大挑战。 智慧商城App正是为解决这个问题而诞生的。基于Android的智慧商城App不但能让用户足不出户就可以完成购物,系统采用开源的Android操作系统,深厚广大用户喜爱;APP系统在总体结构上使用的是面向移动终端的C/S,安卓客户端采用MVC模式,客户端与服务器之间的数据交换采用的是WEB SERVICE技术;系统最大的优势就是实现智慧消费,智能推送商品,节约购物时间,提高购物效率,节约了时间的同时享受更多优惠,真正实现了客户与企业的双赢。
1 智慧商城系统设计
1.1 系统需求分析
软件的主要功能分为五大模块:商品智慧推荐、商品搜索和浏览、商店搜索和浏览、个人中心和支付模块。商品智慧推荐,是基于推荐商品推荐算法向用户推荐其感兴趣或者需要的商品。商品搜索和浏览,是一个大模块,它以商品为基本单位进行归类,该模块会送数据库中获取所有商品的信息,按照类别向用户展示,用户可以手动选择商品类别来搜索商品,也可以直接数据商品关键字来寻找商品。商店搜索和查询,它以商店为基本查找单位,系统从数据库中获取所有商店信息,按照商店的类别,向用户展示商城内的店铺,用户手工查找自己需要的商店,最终进入商店进行购物。个人中心,用来记录用户的基本信息,包括注册账号、消费记录、待付订单以及优惠信息等。支付模块,对于在线支付功能将调用第三方支付接口,通过支付宝或者网银进行付款,安全可靠。
1.2 架构设计
安卓系统结构可分为四层,分别为应用程序层、框架层、系统运行库和LINUX内核层。安卓除了是手机等平台所使用的操作系统,在使用中也包括了许多对应功能的应用程序,这就是所谓的程序层:如地图、电话薄和浏览器等,程序一般都是由JAVA语言编写而成,是可以被其他程序替换的,相对于其他种类的操作系统更加灵活。那么程序又是如何实现其功能的呢?这个就要用到第二层:框架层。它是安卓开发的基础,开发者可以通过“继承”实现个性化的拓展,也可以用其所提供的组件加快程序开发的效率,该层简化了组件的重用。第三层:系统运行库,它可以分为系统库和运行时。系统库是连接框架层与LINUX内核曾之间的重要桥梁,是框架层的支撑,如surface manager、media framework以及web kit等;安卓运行时,由JAVA编写的程序开始执行。最后LINUX内核层,安卓是基于其上的,它服务的内存管理、进程管理及其安全性等都依赖于LINUX内核。
1.3 系统数据库设计
数据库从定义来说便是根据项目中所需数据的结构、种类、属性等有组织的存储和管理数据信息的一个特定仓库。智慧商城项目中,牵涉到数据库功能的大概为:用户信息、商店主体信息、商品、订单以及订单详情。每一个牵涉到的对象都可以定义为数据中的一个表,如TABLE products, TABLE shops,在表内详细罗列了数据的种类、名称等基本属性,从而可以在系统运行中成功的调用数据库中的信息。数据库常见的SQL语句为:
Create DATABASE dbname;(创建数据库)
Create table name;(创建新表)
Drop database dbname;(删除)
Select * from table where;(依据一定条件限制从表中选择指定信息)
Insert into table(field1,field2) value(value1,value2);(插入)
Delete from table where;(删除)
可见数据库是程序运行的重要后勤核心部分,数据库建立的完整与否直接关系到整个系统程序的运行结果。建立数据库的基本准则可概括为:1)命名合理化;2)并发控制;3)保证数据的完整性;4)采用视图技术;5)适当的冗余。
1.4 开发模式设计
IOS开发模式种类繁多,有代理模式、观察者模式和MVC模式等。每个都是经过研究总结最后而得出的实验结果。根据商城开发性质,此次JAVA程序中采用的是MVC模式。MVC模式职责清晰,结构分明,更方便进行系统维护,进行程序测试,很大程度上提高了复杂程序的管理效率。MVC为model模型、view 视图和control控制,该模式同时还提供了对 HTML、CSS 和 JavaScript 的完全控制。
2 智慧商城系统的实现
智慧商城主要着手从用户的需求体验出发,设计一款方便用户访问使用,更有利于商户利益发展的产品。如上文所述,这不仅仅是一款购物产品,更包含定位、推送等新型功能。如当今热门的美团、大众点评,使用率普及而功能性强大又细微。本次程序设计的开发语言为JAVA,开发平台为手机用户大部分使用的安卓系统,数据库如前文所提及的客户端为SQLite, 服务器为MYSQL.
2.1关键技术的实现
1)确定系统的对象模型
根据MVC的设计思想,抽象得到系统所需要的类,在此基础之上设计出系统的对象模型。以下是对系统所用到的关键类的介绍。(1)界面层的类;(2)业务逻辑层的类;(3)模型层的类。
2)用户界面的实现
创建安卓用户界面分别有静态和动态两种方式:
(1)静态方式中较为常见的布局方式是通过XML布局文件,然后通过activity实例化其中的组件。程序中静态布局的XML文件的相关属性会被动态设置的空间属性覆盖。静态方式方便页面效果的直接展现,有利于调整页面布局,因为在程序编写完成后,在不用运行的情况即可展现页面效果。
(2)动态方式与静态方式的区别在于动态是通过在activity中编写代码来实现所需组件和界面的布局。在类中,viewgroup的子类layout是布局所最为常用的,其他较为常用的是VIEW的子类widget
在此次程序开发中选用的静态方式,通过XML来实现文件布局、页面设定。
3)Android的数据库操作
數据库内最基本的便是数据信息,由SQLite支持的数据类型可以简单概括为:整形integer、数值numb、文本text和小数real等。在本次程序开发中,以安卓系统为开发平台,其数据库是以SQLITE来实现数据的存储,SQLite可以称为一个嵌入式的数据库引擎,是跨平台的可以自由复制的,主要适合那些内存资源有限的设备。
4) Android客户端与服务器数据同步
程序运行中用到的数据信息是建立数据表存储在SQLITE数据库中的,这样程序运行时可以随意调用所需数据。而同步机制,指的是当数据库内的信息经过更新或者变动,那么客户端的数据同步更新。首先是客户端向服务器发送更新请求,得到servelet的相应后,通过创建DAO查询列表,最后数据以XML的格式发送到客户端。客户端通过JAVA DOM的方式对其进行解析后,将内容保存到SQLITE数据库中。
5) Json解析机制
客户端向服务器发送请求,获取商品资源信息时,服务器返回的数据是一大批商品的字符串信息,而且这些字符串没有统一的拼接标准,这时如果在采用简单的HTTP方式,不仅传输效率低,容易丢失信息,而且客户端得到数据后解析难度也很大,如何把这些信息正确解析得到商品的真正信息呢?目前最流行也是操作最方便的就是利用Json。
2.2 系统测试
系统测试是为了让产品更符合大众需求,能有效地解决产品瑕疵和漏洞。系统测试主要可以概括为以下几点:
1) 首先测试完成品的运行工作,各项功能是否可以有效运行。
2) 其次与户主对接,是否达到其期望,有无需要添加删减抑或改动的部分。
3) 进行阶段性的试运行,根据后期反馈效果再实质性的有目的的改动。
4) 条件允许的情况下,可以交给专门负责测试工作的部门,这样可以有效地确保测试结果的精确真实性。
3 总结与展望
在信息化的时代下,必然促使产品往信息化的道路上前进,智慧商城既是时代的产物,也是竞争下先进的科技结晶,是商家发展自己产品,吸引客户流的重要工具。用于开发项目的安卓平台,更是一款流行的移动设备运行平台,手机用户在其基础上使用各种应用,不仅对这样的开发人才趋之若鹜,更是吸引更多的商家将商机着手定位在手机客户流上。
本文主要讲解了在开发整个程序中,所运用到的安卓的层次架构,系统开发,JAVA语言,开发平台,数据库等。
针对系统的完善问题,对系统功能进一步加强,保证数据的安全性及用户隐私。对欠缺的地方加以改进,使开发得以成功地进行。在被信息化包围的时代里,这样的网上商城如同手机里的各种应用一样将是普遍而用不可缺少的,研究程序开发的领域也是永无止境的。
参考文献:
[1] 颜泽球,廖晓东,涂钦. 触摸屏自助点菜终端的设计与实现[J].现代电子技术,2010 (5).
[2] 卢小勇,郑胜林,潘保昌,等.基于ARM7和Zig Bee的无线点菜系统设计[J].微计算机信息,2009 (11).
[3] 杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2011.
[4] (美)Russell J.T. Dyer. MySQL核心技术手册[M]. 李红军,李冬梅,译.2版.北京:机械工业出版社,2009.
[5] 赵建勋. 基于Android平台的移动位置服务的 发与实现[Jl.现代商贸,2010(20):85-89.
[6] 李佐彬. Android 发入门与实战体验[M].北京:机械工业出版社,2011.