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的開發與研究。