Design and Development of Yibaoke APP Based on Android
施伶俐 舒 妍 董雪飛 鄭夢(mèng)夢(mèng) 陸佳俊 劉龍青
(浙江農(nóng)林大學(xué)經(jīng)濟(jì)管理學(xué)院,浙江 臨安 311300)
Android下的易寶客APP系統(tǒng)設(shè)計(jì)與開發(fā)
Design and Development of Yibaoke APP Based on Android
施伶俐舒妍董雪飛鄭夢(mèng)夢(mèng)陸佳俊劉龍青
(浙江農(nóng)林大學(xué)經(jīng)濟(jì)管理學(xué)院,浙江 臨安311300)
摘要:在循環(huán)經(jīng)濟(jì)環(huán)境下,如何借助市場(chǎng)占有率高的Android手機(jī)系統(tǒng)解決大學(xué)生手中閑置物品問(wèn)題,成為了當(dāng)務(wù)之急。據(jù)此,運(yùn)用PHP+SQL Server架構(gòu)開發(fā)了“易寶客”移動(dòng)APP應(yīng)用系統(tǒng)。從系統(tǒng)特點(diǎn)和功能出發(fā),詳細(xì)探討了該APP的設(shè)計(jì)思路、總體結(jié)構(gòu)、主要功能模塊的設(shè)計(jì)過(guò)程,界面功能及關(guān)鍵技術(shù)的實(shí)現(xiàn)原理。應(yīng)用結(jié)果表明,該系統(tǒng)方便易用且運(yùn)行穩(wěn)定。
關(guān)鍵詞:以物換物APP設(shè)計(jì)APP開發(fā)循環(huán)經(jīng)濟(jì)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引言
近年來(lái),國(guó)家積極創(chuàng)造資源節(jié)約型、環(huán)境友好型社會(huì),實(shí)現(xiàn)可持續(xù)發(fā)展的大方針不僅從未改變,還將大力發(fā)展循環(huán)經(jīng)濟(jì)、實(shí)現(xiàn)綠色經(jīng)濟(jì)放在更加突出的位置上。同時(shí)通貨膨脹愈演愈烈,世界經(jīng)濟(jì)形勢(shì)日益嚴(yán)峻,“用己閑置,換己所需”必然是未來(lái)社會(huì)的發(fā)展大趨勢(shì)。
大學(xué)生作為未來(lái)社會(huì)消費(fèi)的主力軍,其追求潮流、時(shí)尚,對(duì)新鮮事物充滿好奇的特性必然導(dǎo)致他們“喜新厭舊”,閑置物品堆積成山。據(jù)調(diào)查,97.29%的大學(xué)生表示擁有大量的閑置物品。因此,針對(duì)大學(xué)生設(shè)計(jì)和開發(fā)一款以物換物的APP顯得尤為重要。在順應(yīng)時(shí)代大潮流的同時(shí),幫助大學(xué)生們解決閑置物品處理的難題。
1智能手機(jī)在大學(xué)生內(nèi)應(yīng)用現(xiàn)狀
截至2014年6月,中國(guó)手機(jī)網(wǎng)民規(guī)模達(dá)到5.27億,手機(jī)上網(wǎng)的網(wǎng)民比例為83.4%,首次超越80.9%的傳統(tǒng)PC上網(wǎng)比例,手機(jī)作為第一大上網(wǎng)終端設(shè)備的地位更加鞏固[1]。同時(shí),中國(guó)移動(dòng)互聯(lián)網(wǎng)用戶呈現(xiàn)年輕化趨勢(shì),49.3%的移動(dòng)互聯(lián)網(wǎng)用戶年齡在18~25歲,以大學(xué)生和工作不久的白領(lǐng)為主[2]。
另外,隨著智能手機(jī)的普及,大學(xué)生年輕、時(shí)尚,以及對(duì)新事物強(qiáng)烈的好奇心和良好的適應(yīng)能力,注定其對(duì)智能手機(jī)市場(chǎng)的影響力不容小覷。據(jù)調(diào)查顯示,正在使用智能手機(jī)的同學(xué)占有效調(diào)查人數(shù)的81.5%(其余被調(diào)查者中,有92.3%的人表示打算購(gòu)買智能手機(jī)。),其中,每天使用智能手機(jī)超過(guò)3 h的同學(xué)占了90%。65%的被調(diào)查者認(rèn)為功能強(qiáng)大的智能手機(jī)已經(jīng)成為他們了解社會(huì)、購(gòu)物等方面的最主要途徑。再者,幾乎所有的被調(diào)查者都有將閑置物品換出的意愿,其中表示愿意使用“易寶客”移動(dòng)APP來(lái)處理閑置物品的占71.78%。
由此可以看出,本項(xiàng)目將對(duì)高校大學(xué)生手中“多余”物品的處理提供一個(gè)良好的渠道,為構(gòu)建“節(jié)約型社會(huì)”貢獻(xiàn)力量。
2“易寶客”移動(dòng)APP特點(diǎn)
本文將“易寶客”APP與線下跳騷市場(chǎng)、同類換物網(wǎng)以及同類型的APP進(jìn)行了比較,詳細(xì)說(shuō)明了“易寶客”APP的客戶群、形式、地域、適營(yíng)模式、業(yè)務(wù)類型、時(shí)間限制、功能創(chuàng)新等特點(diǎn)。詳細(xì)特點(diǎn)比較情況如表1所示。
表1 “易寶客”APP的特點(diǎn)
3“易寶客”移動(dòng)APP開發(fā)步驟
一個(gè)Android 應(yīng)用程序一般包含四種子構(gòu)造塊: Activity、Service、Content Provider 和Broadcast Receiver。Activity 是在手機(jī)前臺(tái)與用戶進(jìn)行通信;Service 在后臺(tái)分析前臺(tái)所傳達(dá)的命令而進(jìn)行工作;Content Provider 是提供數(shù)據(jù)存儲(chǔ)作用;Broadcast Receiver 協(xié)助程序組件之間的相互通信[3]。
作為一個(gè)Android 應(yīng)用程序,“易寶客”移動(dòng)APP主要分為應(yīng)用層、業(yè)務(wù)層、數(shù)據(jù)層三層,如圖1所示。應(yīng)用層就是APP的界面,包括主頁(yè)、收藏等界面;業(yè)務(wù)層就是APP具體的運(yùn)行過(guò)程;數(shù)據(jù)層存放用戶信息、物品信息等數(shù)據(jù)[4]。
圖1 系統(tǒng)框圖
系統(tǒng)功能框圖如圖2所示。
圖2 系統(tǒng)功能框圖
注冊(cè)登錄是用戶注冊(cè)賬號(hào)后登錄“易寶客”使用APP;商品分類是在主頁(yè)列出各種商品的分類類目,進(jìn)入每個(gè)分類查看其屬下的商品;商品發(fā)布是用于用戶發(fā)布自己的閑置物品;商品收藏是用戶收藏的中意物品的相關(guān)信息;商品換購(gòu)是本APP推薦的物品,包括熱門、優(yōu)惠、最新等物品的信息;個(gè)人信息管理是管理用戶的一些私密信息,包括用戶的閑置物品發(fā)布記錄和以前的交換信譽(yù)、歷史記錄等。
Android系統(tǒng)是基于Linux 2.6內(nèi)核提供系統(tǒng)核心服務(wù)的,如安全機(jī)制、進(jìn)程管理、內(nèi)存管理、網(wǎng)絡(luò)堆棧和驅(qū)動(dòng)模塊。它包含一組核心庫(kù),提供Java語(yǔ)言核心庫(kù)內(nèi)的大部分功能,保證了系統(tǒng)能夠安全順暢地運(yùn)行[5]。
“易寶客”移動(dòng)APP的界面簡(jiǎn)潔明了,以綠色和白色為主色,版式布局簡(jiǎn)單清晰。APP主頁(yè)采用九宮格樣式表現(xiàn)商品分類的類目,使人一目了然。整個(gè)界面結(jié)構(gòu)齊全,包括狀態(tài)欄、內(nèi)容區(qū)、導(dǎo)航欄、工具欄,每一部分都必不可少。
系統(tǒng)采用Microsoft SQL Server。該數(shù)據(jù)庫(kù)采用XML 語(yǔ)言完成數(shù)據(jù)的插入、更新和刪除。SQL Server具有強(qiáng)大的網(wǎng)絡(luò)訪問(wèn)功能、編程擴(kuò)展功能,以及可伸縮性和可靠性[6]。
3.4.1數(shù)據(jù)庫(kù)概念設(shè)計(jì)
“易寶客”移動(dòng)APP的數(shù)據(jù)庫(kù)中包括了用戶、商品、大類三個(gè)實(shí)體,實(shí)體間的關(guān)系如圖3所示,即系統(tǒng)所包含的概念模型[7]。
圖3 系統(tǒng)E-R圖
圖3中,N表示相鄰的兩個(gè)實(shí)體,如用戶和商品之間是1對(duì)多的關(guān)系,而N∶M表示“多對(duì)多”的關(guān)系。在保證數(shù)據(jù)完整性的前提下最大程度節(jié)省數(shù)據(jù)存儲(chǔ)空間,保證了實(shí)體間的合理關(guān)系,且無(wú)冗余。三個(gè)實(shí)體又包括了各自的字段,通過(guò)收藏、發(fā)布、分類三個(gè)外鍵聯(lián)系,使得整個(gè)數(shù)據(jù)庫(kù)形成一個(gè)完整的整體,具有很高的工作效率。
3.4.2數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)
數(shù)據(jù)收集起來(lái)之后,要進(jìn)行一些簡(jiǎn)單的分類。一般是按照數(shù)據(jù)內(nèi)容進(jìn)行分類,同一類內(nèi)容加載到同一庫(kù)中,便于查找[8]。圖4為本系統(tǒng)的數(shù)據(jù)庫(kù)關(guān)系圖。
圖4 數(shù)據(jù)庫(kù)關(guān)系圖
根據(jù)分析數(shù)據(jù)庫(kù)概念模型設(shè)計(jì)的結(jié)果,本系統(tǒng)主要數(shù)據(jù)表設(shè)計(jì)如下。
① 用戶表。用戶表存儲(chǔ)用戶的基本信息,以u(píng)ser ID為主鍵。用于存儲(chǔ)和驗(yàn)證用戶的登錄賬號(hào)和登錄密碼,其中name ID為用戶登錄賬號(hào),name字段為用戶昵稱,password字段為登錄密碼,其他字段還有email、phone。
② 商品分類表。商品分類表用于存儲(chǔ)商品所屬類別的信息,以type ID為主鍵,商品通過(guò)type ID在此表中獲取所屬大類名稱,以便用戶可以通過(guò)大類進(jìn)行分類瀏覽,使整個(gè)系統(tǒng)更加有序,瀏覽效率更高和更有目的性。
③ 商品表。商品表存儲(chǔ)商品的基本信息,以goods ID為主鍵,type ID和user ID為外鍵,表示商品的所屬類別和商品的發(fā)布者。其他字段還有g(shù)oodname、data、info、price、picname。
④ 收藏表。收藏表用來(lái)存儲(chǔ)用戶收藏商品的信息,由user ID和goods ID共同組成主鍵。
設(shè)置PHP連接MySQL數(shù)據(jù)庫(kù),便于處理結(jié)構(gòu)復(fù)雜、內(nèi)容繁多的數(shù)據(jù),方便動(dòng)態(tài)化的管理[9]。這里使用PDO。PDO擴(kuò)展為PHP訪問(wèn)數(shù)據(jù)庫(kù)定義了一個(gè)輕量級(jí)的、一致性的接口,它提供了一個(gè)數(shù)據(jù)訪問(wèn)抽象層[10]。這樣無(wú)論使用什么數(shù)據(jù)庫(kù),都可以通過(guò)一致的函數(shù)執(zhí)行查詢和獲取數(shù)據(jù)。
首先,需要設(shè)置數(shù)據(jù)庫(kù)參數(shù)進(jìn)行連接。
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;}
}
以顯示商品詳情請(qǐng)求為例,客戶端以POST方式向服務(wù)端發(fā)送登錄請(qǐng)求,包含商品ID和用戶ID。服務(wù)端使用$_POST[]來(lái)進(jìn)行接收。
$goodsID = urldecode($_POST[′goodsID′]);
$userID = urldecode($_POST[′userID′]);
之后調(diào)用數(shù)據(jù)庫(kù)連接函數(shù)進(jìn)行數(shù)據(jù)連接。在成功連接數(shù)據(jù)庫(kù)后,獲得$conn數(shù)據(jù)庫(kù)操作對(duì)象,在query()中使用SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,并返回響應(yīng)集合。
$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;}
在獲得響應(yīng)集合后,通過(guò)fetch()方法將數(shù)據(jù)以數(shù)字索引的方式存儲(chǔ)在數(shù)組中。然后關(guān)閉數(shù)據(jù)庫(kù)連接。
$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;
最后,將獲得的數(shù)組進(jìn)行JSON格式編碼并返回給客戶端。
echo json_encode($result);
4結(jié)束語(yǔ)
現(xiàn)在越來(lái)越多的企業(yè)開始嘗試建設(shè)物物交換類型的網(wǎng)站,但此類型的APP卻寥寥無(wú)幾。這說(shuō)明基于智能手機(jī)的物物交換類型的APP有很大的市場(chǎng)發(fā)展空間。成功實(shí)現(xiàn)了對(duì)“易寶客”移動(dòng)APP的設(shè)計(jì)與開發(fā),該APP具有較強(qiáng)的操作性、針對(duì)性和交互性,讓用戶可以不受時(shí)間和空間的限制,隨時(shí)隨地進(jìn)行物品交換,進(jìn)一步擴(kuò)展了物物交換市場(chǎng)。今后主要致力于APP的功能完善和使用地域范圍的擴(kuò)大。
參考文獻(xiàn)
[1] 中國(guó)互聯(lián)網(wǎng)信息中心.《第34次中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》[R].北京:中國(guó)互聯(lián)網(wǎng)信息中心,2014.
[2] DCCI互聯(lián)網(wǎng)數(shù)據(jù)中心.《中國(guó)移動(dòng)互聯(lián)網(wǎng)藍(lán)皮書》[R].北京:DCCI互聯(lián)網(wǎng)數(shù)據(jù)中心,2012.
[3] 廖明華,鄭力明.Android 安全機(jī)制分析與解決方案初探[J].科學(xué)技術(shù)與工程,2011,11(26):6350-6355.
[4] 阮軍,楊春金.基于模式的多層分布式軟件系統(tǒng)架構(gòu)的設(shè)計(jì)[J].計(jì)算機(jī)工程,2006,32(14):57-59.
[5] 溫敏,艾麗蓉,王志國(guó).Android智能手機(jī)系統(tǒng)中文件實(shí)時(shí)監(jiān)控的研究與實(shí)現(xiàn)[J].科學(xué)技術(shù)與工程,2009,9(7):747-752.
[6] 湯陽(yáng),田欣.基于B/S 結(jié)構(gòu)的信息數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代情報(bào),2006(8):73-74.
[7] 張金昌.數(shù)據(jù)庫(kù)概念設(shè)計(jì)方法探討[J].交通與計(jì)算機(jī),1988(4):9-13.
[8] 王蘭成,蔣丹,劉慶輝.全文數(shù)據(jù)庫(kù)建庫(kù)原理與應(yīng)用技術(shù)[J].情報(bào)學(xué)報(bào),1999,18(4):319-326.
[9] 王佳生.數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用發(fā)展新方向[J].信息技術(shù),2001(8):50-51.
[10]曹明,閃四清.基于預(yù)警機(jī)制的實(shí)驗(yàn)設(shè)備管理系統(tǒng)開發(fā)[J].實(shí)驗(yàn)室研究與探索,2011,30(6):388-391.
中圖分類號(hào):TH85;TP311
文獻(xiàn)標(biāo)志碼:A
DOI:10.16086/j.cnki.issn1000-0380.201508009
浙江農(nóng)林大學(xué)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(編號(hào):201306021);
浙江農(nóng)林大學(xué)課堂教學(xué)改革基金資助項(xiàng)目(編號(hào):KG14223)。
修改稿收到日期:2014-12-28。
第一作者施伶俐(1992-),女,現(xiàn)為浙江農(nóng)林大學(xué)電子商務(wù)專業(yè)在讀本科生;主要從事電子商務(wù)網(wǎng)站與移動(dòng)APP的開發(fā)與研究。