Design and Development of Yibaoke APP Based on Android
施伶俐 舒 妍 董雪飞 郑梦梦 陆佳俊 刘龙青
(浙江农林大学经济管理学院,浙江 临安 311300)
Android下的易宝客APP系统设计与开发
Design and Development of Yibaoke APP Based on Android
施伶俐舒妍董雪飞郑梦梦陆佳俊刘龙青
(浙江农林大学经济管理学院,浙江 临安311300)
摘要:在循环经济环境下,如何借助市场占有率高的Android手机系统解决大学生手中闲置物品问题,成为了当务之急。据此,运用PHP+SQL Server架构开发了“易宝客”移动APP应用系统。从系统特点和功能出发,详细探讨了该APP的设计思路、总体结构、主要功能模块的设计过程,界面功能及关键技术的实现原理。应用结果表明,该系统方便易用且运行稳定。
关键词:以物换物APP设计APP开发循环经济Android
Abstract:Under the environment of circular economy, solving the problem of disposing idle items for college students with help of Android mobile phone system which is the first market share becomes the top priority. Therefore, the mobile APP "Yibaoke" system has been developed by adopting the framework of PHP+SQL server. The design concept, overall structure, design procedures of major function modules, interface function and implementing principle of critical technologies of this APP are discussed in detail based on the features and functions of the system. The results of application show that the system is easy to use and runs stably.
Keywords:BarterAPP designAPP developmentCircular economyAndroid
0引言
近年来,国家积极创造资源节约型、环境友好型社会,实现可持续发展的大方针不仅从未改变,还将大力发展循环经济、实现绿色经济放在更加突出的位置上。同时通货膨胀愈演愈烈,世界经济形势日益严峻,“用己闲置,换己所需”必然是未来社会的发展大趋势。
大学生作为未来社会消费的主力军,其追求潮流、时尚,对新鲜事物充满好奇的特性必然导致他们“喜新厌旧”,闲置物品堆积成山。据调查,97.29%的大学生表示拥有大量的闲置物品。因此,针对大学生设计和开发一款以物换物的APP显得尤为重要。在顺应时代大潮流的同时,帮助大学生们解决闲置物品处理的难题。
1智能手机在大学生内应用现状
截至2014年6月,中国手机网民规模达到5.27亿,手机上网的网民比例为83.4%,首次超越80.9%的传统PC上网比例,手机作为第一大上网终端设备的地位更加巩固[1]。同时,中国移动互联网用户呈现年轻化趋势,49.3%的移动互联网用户年龄在18~25岁,以大学生和工作不久的白领为主[2]。
另外,随着智能手机的普及,大学生年轻、时尚,以及对新事物强烈的好奇心和良好的适应能力,注定其对智能手机市场的影响力不容小觑。据调查显示,正在使用智能手机的同学占有效调查人数的81.5%(其余被调查者中,有92.3%的人表示打算购买智能手机。),其中,每天使用智能手机超过3 h的同学占了90%。65%的被调查者认为功能强大的智能手机已经成为他们了解社会、购物等方面的最主要途径。再者,几乎所有的被调查者都有将闲置物品换出的意愿,其中表示愿意使用“易宝客”移动APP来处理闲置物品的占71.78%。
由此可以看出,本项目将对高校大学生手中“多余”物品的处理提供一个良好的渠道,为构建“节约型社会”贡献力量。
2“易宝客”移动APP特点
本文将“易宝客”APP与线下跳骚市场、同类换物网以及同类型的APP进行了比较,详细说明了“易宝客”APP的客户群、形式、地域、适营模式、业务类型、时间限制、功能创新等特点。详细特点比较情况如表1所示。
表1 “易宝客”APP的特点
3“易宝客”移动APP开发步骤
一个Android 应用程序一般包含四种子构造块: Activity、Service、Content Provider 和Broadcast Receiver。Activity 是在手机前台与用户进行通信;Service 在后台分析前台所传达的命令而进行工作;Content Provider 是提供数据存储作用;Broadcast Receiver 协助程序组件之间的相互通信[3]。
作为一个Android 应用程序,“易宝客”移动APP主要分为应用层、业务层、数据层三层,如图1所示。应用层就是APP的界面,包括主页、收藏等界面;业务层就是APP具体的运行过程;数据层存放用户信息、物品信息等数据[4]。
图1 系统框图
系统功能框图如图2所示。
图2 系统功能框图
注册登录是用户注册账号后登录“易宝客”使用APP;商品分类是在主页列出各种商品的分类类目,进入每个分类查看其属下的商品;商品发布是用于用户发布自己的闲置物品;商品收藏是用户收藏的中意物品的相关信息;商品换购是本APP推荐的物品,包括热门、优惠、最新等物品的信息;个人信息管理是管理用户的一些私密信息,包括用户的闲置物品发布记录和以前的交换信誉、历史记录等。
Android系统是基于Linux 2.6内核提供系统核心服务的,如安全机制、进程管理、内存管理、网络堆栈和驱动模块。它包含一组核心库,提供Java语言核心库内的大部分功能,保证了系统能够安全顺畅地运行[5]。
“易宝客”移动APP的界面简洁明了,以绿色和白色为主色,版式布局简单清晰。APP主页采用九宫格样式表现商品分类的类目,使人一目了然。整个界面结构齐全,包括状态栏、内容区、导航栏、工具栏,每一部分都必不可少。
系统采用Microsoft SQL Server。该数据库采用XML 语言完成数据的插入、更新和删除。SQL Server具有强大的网络访问功能、编程扩展功能,以及可伸缩性和可靠性[6]。
3.4.1数据库概念设计
“易宝客”移动APP的数据库中包括了用户、商品、大类三个实体,实体间的关系如图3所示,即系统所包含的概念模型[7]。
图3 系统E-R图
图3中,N表示相邻的两个实体,如用户和商品之间是1对多的关系,而N∶M表示“多对多”的关系。在保证数据完整性的前提下最大程度节省数据存储空间,保证了实体间的合理关系,且无冗余。三个实体又包括了各自的字段,通过收藏、发布、分类三个外键联系,使得整个数据库形成一个完整的整体,具有很高的工作效率。
3.4.2数据库逻辑结构设计
数据收集起来之后,要进行一些简单的分类。一般是按照数据内容进行分类,同一类内容加载到同一库中,便于查找[8]。图4为本系统的数据库关系图。
图4 数据库关系图
根据分析数据库概念模型设计的结果,本系统主要数据表设计如下。
① 用户表。用户表存储用户的基本信息,以user ID为主键。用于存储和验证用户的登录账号和登录密码,其中name ID为用户登录账号,name字段为用户昵称,password字段为登录密码,其他字段还有email、phone。
② 商品分类表。商品分类表用于存储商品所属类别的信息,以type ID为主键,商品通过type ID在此表中获取所属大类名称,以便用户可以通过大类进行分类浏览,使整个系统更加有序,浏览效率更高和更有目的性。
③ 商品表。商品表存储商品的基本信息,以goods ID为主键,type ID和user ID为外键,表示商品的所属类别和商品的发布者。其他字段还有goodname、data、info、price、picname。
④ 收藏表。收藏表用来存储用户收藏商品的信息,由user ID和goods ID共同组成主键。
设置PHP连接MySQL数据库,便于处理结构复杂、内容繁多的数据,方便动态化的管理[9]。这里使用PDO。PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层[10]。这样无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。
首先,需要设置数据库参数进行连接。
function db_connect(){
try{
$result = new PDO("mysql:host=localhost;dbname=tzzxdb", "root", "4006160662");
// $result = new PDO("mysql:host=localhost;
dbname=zjwdb_85880", "zjwdb_85880", "4006160662");
$result->query("set names utf8");
if (!$result) {return;}
else {return $result;}
}catch(PDOExecption $e){return;}
}
以显示商品详情请求为例,客户端以POST方式向服务端发送登录请求,包含商品ID和用户ID。服务端使用$_POST[]来进行接收。
$goodsID = urldecode($_POST[′goodsID′]);
$userID = urldecode($_POST[′userID′]);
之后调用数据库连接函数进行数据连接。在成功连接数据库后,获得$conn数据库操作对象,在query()中使用SQL语句对数据库进行操作,并返回响应集合。
$tem = 0;
$result = $conn->query("select goods.goodsname, user.name, user.phone, " ."goods.date, user.email, goods.info, goods.price, goods.typeID, goods.picname from goods,user where goods.goodsID = '".$goodsID."' and goods.userID = user.userID");
if(!$result){$conn = null;
return -1;}
在获得响应集合后,通过fetch()方法将数据以数字索引的方式存储在数组中。然后关闭数据库连接。
$row = $result->fetch(PDO::FETCH_NUM);
if($result->fetchColumn()>0){$tem = 1;}
$array = array(′goodsname′ => $row[0],
′username′ => $row[1],
′phone′ => $row[2],
′date′ => $row[3],
′email′ => $row[4],
′info′ => $row[5],
′price′ => $row[6],
′typeID′ => $row[7],
′picname′ => $row[8],
′iscollect′ => $tem,);
$conn = null;
最后,将获得的数组进行JSON格式编码并返回给客户端。
echo json_encode($result);
4结束语
现在越来越多的企业开始尝试建设物物交换类型的网站,但此类型的APP却寥寥无几。这说明基于智能手机的物物交换类型的APP有很大的市场发展空间。成功实现了对“易宝客”移动APP的设计与开发,该APP具有较强的操作性、针对性和交互性,让用户可以不受时间和空间的限制,随时随地进行物品交换,进一步扩展了物物交换市场。今后主要致力于APP的功能完善和使用地域范围的扩大。
参考文献
[1] 中国互联网信息中心.《第34次中国互联网络发展状况统计报告》[R].北京:中国互联网信息中心,2014.
[2] DCCI互联网数据中心.《中国移动互联网蓝皮书》[R].北京:DCCI互联网数据中心,2012.
[3] 廖明华,郑力明.Android 安全机制分析与解决方案初探[J].科学技术与工程,2011,11(26):6350-6355.
[4] 阮军,杨春金.基于模式的多层分布式软件系统架构的设计[J].计算机工程,2006,32(14):57-59.
[5] 温敏,艾丽蓉,王志国.Android智能手机系统中文件实时监控的研究与实现[J].科学技术与工程,2009,9(7):747-752.
[6] 汤阳,田欣.基于B/S 结构的信息数据库设计与实现[J].现代情报,2006(8):73-74.
[7] 张金昌.数据库概念设计方法探讨[J].交通与计算机,1988(4):9-13.
[8] 王兰成,蒋丹,刘庆辉.全文数据库建库原理与应用技术[J].情报学报,1999,18(4):319-326.
[9] 王佳生.数据库技术与应用发展新方向[J].信息技术,2001(8):50-51.
[10]曹明,闪四清.基于预警机制的实验设备管理系统开发[J].实验室研究与探索,2011,30(6):388-391.
中图分类号:TH85;TP311
文献标志码:A
DOI:10.16086/j.cnki.issn1000-0380.201508009
浙江农林大学大学生创新创业训练计划项目(编号:201306021);
浙江农林大学课堂教学改革基金资助项目(编号:KG14223)。
修改稿收到日期:2014-12-28。
第一作者施伶俐(1992-),女,现为浙江农林大学电子商务专业在读本科生;主要从事电子商务网站与移动APP的开发与研究。