【摘要】移動(dòng)互聯(lián)網(wǎng)是一個(gè)發(fā)展迅速、充滿活力的領(lǐng)域,具有廣闊的應(yīng)用前景。電子商務(wù)作為移動(dòng)互聯(lián)應(yīng)用的一個(gè)重要應(yīng)用層面,正在逐漸改變?nèi)藗冊(cè)谛畔r(shí)代的生活方式。本文首先針對(duì)電子商務(wù)交易平臺(tái)的具體的項(xiàng)目需求,運(yùn)用Android平臺(tái)應(yīng)用開(kāi)發(fā)的方法,在Android平臺(tái)上設(shè)計(jì)并實(shí)現(xiàn)了基于該平臺(tái)的移動(dòng)電子商務(wù)軟件應(yīng)用。對(duì)程序開(kāi)發(fā)過(guò)程中設(shè)計(jì)的Android組件和應(yīng)用開(kāi)發(fā)技術(shù)做了研究和討論,并實(shí)現(xiàn)了與客戶端對(duì)接的服務(wù)器系統(tǒng)。
【關(guān)鍵詞】電子商務(wù);Android;移動(dòng)互聯(lián);B2C
Abstract:Mobile Internet is a fast growing,dynamic field,and has broad application prospects.E-commerce is an important application of mobile Internet and it is gradually changing people’s way of life in the information age.Firstly,this paper,analysis the specific requirements of the E-commerce project.Secondly,popose an application archtechture based on the Android platform.Finally,design and implemente the application software and researched thethe development technology based on Android platform.
Keywords:E-commerce;Android;Mobile Internet;B2C
1.概述
近年來(lái),移動(dòng)通信和互聯(lián)網(wǎng)成為當(dāng)今世界發(fā)展最快、市場(chǎng)潛力最大、前景最誘人的兩大業(yè)務(wù)。移動(dòng)互聯(lián)網(wǎng),就是將移動(dòng)通信和互聯(lián)網(wǎng)二者結(jié)合起來(lái),成為一體。移動(dòng)互聯(lián)網(wǎng)是一個(gè)發(fā)展迅速、充滿活力的領(lǐng)域,具有廣闊的應(yīng)用前景[1]。移動(dòng)互聯(lián)網(wǎng)正在逐漸改變?nèi)藗冊(cè)谛畔r(shí)代的生活方式,移動(dòng)終端用戶對(duì)于移動(dòng)互聯(lián)網(wǎng)應(yīng)用需求也越來(lái)越大。移動(dòng)電子商務(wù)的發(fā)展也日新月異,移動(dòng)電子商務(wù)是移動(dòng)互聯(lián)網(wǎng)的主要應(yīng)用之一。其主要的功能就是利用手機(jī)、平板電腦等無(wú)線終端進(jìn)行的B2B、B2C或C2C的電子商務(wù)。它將因特網(wǎng)、移動(dòng)通信技術(shù)及其它信息處理技術(shù)完美的結(jié)合,使人們可以在任何時(shí)間、任何地點(diǎn)進(jìn)行各種商貿(mào)活動(dòng),實(shí)現(xiàn)隨時(shí)隨地、線上線下的購(gòu)物與交易、在線電子支付以及各種交易活動(dòng)、商務(wù)活動(dòng)、金融活動(dòng)和相關(guān)的綜合服務(wù)活動(dòng)等[2]。
本文設(shè)計(jì)的系統(tǒng)是在滿足電子商務(wù)平臺(tái)的網(wǎng)絡(luò)通信協(xié)議規(guī)范的基礎(chǔ)上,在Android智能手機(jī)平臺(tái)上設(shè)計(jì)并實(shí)現(xiàn)的客戶端軟件。功能包括用戶管理及參數(shù)設(shè)置、新聞資訊查詢、商品買(mǎi)賣(mài)交易、價(jià)格漲跌情況查詢、委托交易等。系統(tǒng)的實(shí)現(xiàn),使電子商務(wù)交易平臺(tái)從傳統(tǒng)的個(gè)人電腦設(shè)備轉(zhuǎn)移至移動(dòng)設(shè)備上,使得電子商務(wù)活動(dòng)的進(jìn)行更加方便和高效。
通過(guò)該移動(dòng)電子商務(wù)軟件,用戶可以通過(guò)智能手機(jī)登陸電子商務(wù)平臺(tái),進(jìn)行實(shí)時(shí)信息查詢、貨品價(jià)格走勢(shì)等商務(wù)信息的查詢,并通過(guò)線上交易操作實(shí)現(xiàn)賬戶管理、買(mǎi)入和賣(mài)出等功能。主要實(shí)現(xiàn)的功能包括:用戶管理及參數(shù)設(shè)置、新聞資訊查詢、商品買(mǎi)賣(mài)交易、價(jià)格漲跌情況查詢、委托交易等。
2.系統(tǒng)功能組件設(shè)計(jì)
2.1 網(wǎng)絡(luò)通信模塊設(shè)計(jì)
電子商務(wù)Android客戶端與服務(wù)端通過(guò)TCP連接,以XML(可擴(kuò)展標(biāo)記語(yǔ)言,Extensible Markup Language)實(shí)現(xiàn)數(shù)據(jù)通信。并設(shè)計(jì)實(shí)現(xiàn)獨(dú)立的用于實(shí)現(xiàn)客戶端即時(shí)通信的服務(wù)器端和相應(yīng)的客戶端即時(shí)通信模塊,使該移動(dòng)電子商務(wù)軟件功能更加完善。服務(wù)器與客戶端采用TCP方式建立連接,通過(guò)自定義的協(xié)議進(jìn)行通信,服務(wù)器與客戶端的架構(gòu)如圖1所示。
客戶端與服務(wù)器建立連接后,建立對(duì)象輸入輸出流,通過(guò)發(fā)送和接手消息對(duì)象的方式進(jìn)行通信??蛻舳伺c服務(wù)器之間通信協(xié)議主要由三個(gè)類(lèi)實(shí)現(xiàn):Client_Info類(lèi)(用戶信息類(lèi))、Msg類(lèi)(消息類(lèi))、Msg_Type類(lèi)(消息類(lèi)型的枚舉)。Client_Info類(lèi)描述了通過(guò)服務(wù)器通信的用戶標(biāo)識(shí)、用戶名、密碼等信息。Msg類(lèi)描述了客戶端和服務(wù)器之間進(jìn)行通信所傳輸?shù)臄?shù)據(jù)類(lèi)型和信息形式。其主要的數(shù)據(jù)成員如表1所示:
表1 Msg類(lèi)的數(shù)據(jù)成員及功能描述
數(shù)據(jù)成員功能描述
public Msg_Type msg_Type消息類(lèi)型
public String msg_Content消息內(nèi)容
public Object [] online在線用戶列表
public Object [] reg注冊(cè)用戶列表
public String online_String在線用戶列表(String形式)
public String reg_String注冊(cè)用戶列表(String形式)
public String senderID發(fā)送者標(biāo)識(shí)
public String recieverID接收者標(biāo)識(shí)
public String senderName發(fā)送者名
public String recieverName接收者名
public Client_Info msg_Client_Info用戶信息
public Update_Info msg_Update_Info用戶更新信息
枚舉類(lèi)Msg_Type類(lèi)為Msg類(lèi)消息的類(lèi)型描述,代表的消息類(lèi)型主要有登錄、登錄成功或失敗、注冊(cè)、注冊(cè)成功或失敗,用戶信息更新,在線用戶信息,在線用戶信息更新,服務(wù)器發(fā)送的在線用戶信息廣播,服務(wù)器信息,踢出,斷開(kāi)連接,聊天,廣播消息等。客戶端與服務(wù)器采用XML形式的通信協(xié)議。XML數(shù)據(jù)是以純文本格式存儲(chǔ)的,提供了一種與軟件和硬件無(wú)關(guān)的共享數(shù)據(jù)方法,XML被引入許多網(wǎng)絡(luò)協(xié)議,以便于為個(gè)軟件提供相通信的標(biāo)準(zhǔn)方法[3]。為了便于處理,把每一個(gè)XML文件分成兩個(gè)主要的部分:Head和Data。Head部分包含消息報(bào)文的一些報(bào)文頭信息,Data部分封裝了消息報(bào)文內(nèi)所需要包含的消息數(shù)據(jù)內(nèi)容[4]。以登陸請(qǐng)求報(bào)文為例,其消息報(bào)文如下所示:
由于該電子商務(wù)交易平臺(tái)的通信協(xié)議細(xì)節(jié)屬于保密內(nèi)容,所以在此只針對(duì)XML數(shù)據(jù)報(bào)文的封裝形式、內(nèi)容、加密方式等不做詳細(xì)討論。
2.2 客戶端信息顯示設(shè)計(jì)
客戶端需要顯示的信息包括:客戶端功能選項(xiàng)(Android組件)、商品詳情(表格形式)、價(jià)格漲跌曲線(二維圖表形式)。每種不同的信息都需要設(shè)計(jì)不同的顯示方式,才能達(dá)到較好的使用體驗(yàn)。
作為電子商務(wù)在線交易平臺(tái)的移動(dòng)客戶端,應(yīng)該具備所有該平臺(tái)上的信息查詢和交易操作的功能。根據(jù)設(shè)計(jì)好的用戶接口規(guī)劃,需要使用的Android布局組件[5]包括文本顯示視圖(TestView)、編輯框(EditText)、按鈕(Button)、下拉列表(Spinner)、列表視圖(ListView)等多種界面元素,每種不同的布局組件都有不同的規(guī)劃方式和編程特性,所以程序中需要充分利用這些布局組件的特點(diǎn)和優(yōu)勢(shì),在有限的手機(jī)顯示屏幕上更高效率地顯示處理盡可能多的內(nèi)容,幫助使用者提高效率。
2.3 客戶端操作處理設(shè)計(jì)
客戶端需要具備的功能包括:用戶登錄、賬戶管理、商品信息查詢、買(mǎi)入和賣(mài)出操作等。電子商務(wù)交易平臺(tái)客戶端的用戶操作全都是通過(guò)向服務(wù)器發(fā)送請(qǐng)求實(shí)現(xiàn)的,所以客戶端的功能主要是處理用戶在界面接口中的各類(lèi)操作,捕獲用戶的請(qǐng)求類(lèi)型和相應(yīng)的數(shù)據(jù),通過(guò)消息包發(fā)送給服務(wù)器端進(jìn)行處理,服務(wù)器端處理完成后需要返回處理成功或失敗的消息[6],客戶端再根據(jù)服務(wù)器返回的消息來(lái)更新用戶界面通知用戶所請(qǐng)求服務(wù)的執(zhí)行情況。相應(yīng)的功能結(jié)構(gòu)如圖2所示。
2.4 服務(wù)器端設(shè)計(jì)
服務(wù)器端的功能主要包括:用戶登錄/注冊(cè)認(rèn)證、用戶信息管理、信息轉(zhuǎn)發(fā)、消息廣播、非法用戶踢出等。
服務(wù)器端的功能主要由Network_Server類(lèi)和它的內(nèi)部類(lèi)Server_Thread類(lèi)實(shí)現(xiàn)。類(lèi)的層次結(jié)構(gòu)和相應(yīng)功能如圖3所示:
外部類(lèi)Network_Server類(lèi)的功能包括:用戶信息維護(hù)、用戶登錄認(rèn)證、服務(wù)線程管理。
用戶信息維護(hù)功能在即時(shí)通信服務(wù)器端維護(hù)所有注冊(cè)用戶的相關(guān)信息,能夠根據(jù)所維護(hù)的用戶信息中的相關(guān)數(shù)據(jù)(如用戶標(biāo)識(shí)、用戶名稱(chēng)、密碼等信息)對(duì)請(qǐng)求登陸的客戶端進(jìn)行認(rèn)證。以用戶登錄驗(yàn)證過(guò)程為例,服務(wù)器端根據(jù)客戶端發(fā)送來(lái)的登錄請(qǐng)求消息中所包含的用戶標(biāo)識(shí)信息,從服務(wù)器端用戶列表中獲得服務(wù)器端維護(hù)的該用戶的密碼信息,將該信息與客戶端請(qǐng)求消息中包含的密碼信息相比較,如果密碼一致則允許登錄,如果密碼不一致則拒絕客戶端的登錄請(qǐng)求。
有用戶登陸后,服務(wù)器端向成功登錄的用戶發(fā)送在線用戶列表,以便使客戶端能夠顯示當(dāng)前在線的其他用戶,客戶端選擇聊天對(duì)象后通過(guò)服務(wù)器端轉(zhuǎn)發(fā)的方式與其他用戶進(jìn)行即時(shí)通信。同時(shí)服務(wù)器端也能夠接收到成功登錄后的客戶端用戶的更改用戶信息請(qǐng)求,根據(jù)更改用戶信息請(qǐng)求中所包含的新的用戶信息,更新服務(wù)器端的用戶資料。
服務(wù)器端作為即時(shí)通信的消息轉(zhuǎn)發(fā)中心,會(huì)為每一個(gè)成功登陸的客戶端開(kāi)啟一個(gè)服務(wù)線程用來(lái)跟客戶端通信,并通過(guò)與客戶端之間發(fā)送各種類(lèi)型的消息來(lái)實(shí)現(xiàn)用戶數(shù)據(jù)更新,以及不同客戶端用戶之間的即時(shí)消息通信等功能。由于涉及多線程操作,并且多線程會(huì)訪問(wèn)公共資源,所以在服務(wù)器端必須設(shè)計(jì)合理高效的線程管理方式,使服務(wù)器端能夠同時(shí)為多個(gè)用戶提供服務(wù)。同時(shí)要在服務(wù)器中存儲(chǔ)在線用戶和注冊(cè)用戶的信息:
public Vector
public Vector
用戶登錄認(rèn)證功能通過(guò)server_Msg_Handler_Login(Msg msg)方法實(shí)現(xiàn),認(rèn)證過(guò)程如圖4:
3.系統(tǒng)總結(jié)展示與展望
3.1 系統(tǒng)展示
圖5是客戶端完成后的的界面展示,圖6是獨(dú)立的服務(wù)器端完成后的界面截屏展示。
3.2 展望
本文在Android平臺(tái)上開(kāi)發(fā)實(shí)現(xiàn)了基于易商通電子商務(wù)平臺(tái)[7]的移動(dòng)客戶端應(yīng)用軟件,針對(duì)Android系統(tǒng)平臺(tái)做了大量的研究工作和開(kāi)發(fā)工作。通過(guò)撰寫(xiě)論文過(guò)程中積累的經(jīng)驗(yàn)和體會(huì),對(duì)未來(lái)移動(dòng)互聯(lián)網(wǎng)技術(shù)做出以下的展望:
(1)功能更強(qiáng)、速度更快。隨著移動(dòng)終端硬軟件性能的不斷提高和移動(dòng)通信技術(shù)的不斷進(jìn)步,智能平臺(tái)的處理和計(jì)算性能也將隨之不斷提升。相信在不久的將來(lái),移動(dòng)終端的互聯(lián)網(wǎng)業(yè)務(wù)會(huì)擁有更穩(wěn)定可靠的平臺(tái)和更快的速度,大大提高人們利用移動(dòng)終端處理日常工作和生活事務(wù)的效率。
(2)業(yè)務(wù)多樣化。由于移動(dòng)互聯(lián)網(wǎng)屬于新興業(yè)務(wù),所以在不遠(yuǎn)的將來(lái)移動(dòng)互聯(lián)網(wǎng)的業(yè)務(wù)范圍將被大大擴(kuò)展,比如移動(dòng)轉(zhuǎn)賬與支付、移動(dòng)定位、移動(dòng)搜索、移動(dòng)瀏覽、移動(dòng)監(jiān)控、移動(dòng)廣告等多樣化的業(yè)務(wù)都將得到快速的發(fā)展,移動(dòng)互聯(lián)網(wǎng)將改變?nèi)藗兊纳罘绞?,大大提高人們的工作效率?/p>
參考文獻(xiàn)
[1]黃錦川,金煒東.基于Android平臺(tái)Web服務(wù)的應(yīng)用研究[J].鐵路計(jì)算機(jī)應(yīng)用,2010(11):24-27.
[2]胡潔,孫靈芝.Web服務(wù)組合方法綜述與分析[J].科技廣場(chǎng),2011(1):238-241.
[3]Sas Jacobs.XML基礎(chǔ)教程入門(mén)、DOM、Ajax與Flash[M].北京:人民郵電出版社,2007,7.
[4]黃星文.基于Android的手機(jī)通訊協(xié)議應(yīng)用研究與實(shí)現(xiàn)[D].甘肅:蘭州大學(xué),2010.
[5]Diego Torres Milano.Android Application Testing Guide[M].Packt Publishing Ltd,2011,06:167-193.
[6]Butler,M.Android:Changing the Mobile Landscape[J].Pervasive Computing,2011(1)::4-7.
[7]李慶艷,金鐸.移動(dòng)電子商務(wù)發(fā)展趨勢(shì)探討[J].電信科學(xué),2011,27(6):6-13.