国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android平臺的物流信息查詢軟件的設(shè)計與實現(xiàn)

2012-04-29 00:44:03趙強(qiáng)趙永峰楊發(fā)智賈偉
電腦知識與技術(shù) 2012年22期
關(guān)鍵詞:接口

趙強(qiáng) 趙永峰 楊發(fā)智 賈偉

摘要:為實現(xiàn)即時的物流信息查詢,設(shè)計了一套基于Android智能手機(jī)的物流查詢系統(tǒng)。文中首先介紹了Android應(yīng)用程序的開發(fā)方法,然后闡述了查詢系統(tǒng)設(shè)計的體系結(jié)構(gòu)和設(shè)計方法,分析了系統(tǒng)與物流網(wǎng)絡(luò)查詢接口的使用方法,系統(tǒng)進(jìn)行數(shù)據(jù)處理的流程等內(nèi)容,最后給出了系統(tǒng)的查詢測試結(jié)果。

關(guān)鍵詞:物流信息;查詢;Android;接口

中圖分類號:TN929文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2012)22-5298-05

Design and Implementation of the Logistics Information Query Software Based on Android Smartphones

ZHAO Qiang, ZHAO Yong-feng, YANG Fa-zhi, JIA Wei

(School of Mathematics and Computer Science,Shaanxi University of Technology, Hanzhong 723000, China)

Abstract: In order to achieve real-time logistics information, we designed the logistics query software based on the Android smartphones. First, Android application development methodology is presented;and then describes the architecture and design methodology of the inquiry software;Analyze how to use the interface of the logistics Information query and the data processing process; finally, the query test results was give.

Key words: logistics Information; query; android; interface

隨著網(wǎng)上購物的漸漸流行,對所購商品的物流追蹤朝著即時化,智能化的方向發(fā)展。目前大部分的物流信息查詢都是基于個人電腦,用戶通過使用瀏覽器訪問相關(guān)的物流公司網(wǎng)站來實現(xiàn)物流查詢。由于個人計算機(jī)攜帶的不便性和互聯(lián)網(wǎng)接入地點的限制,普通網(wǎng)絡(luò)用戶無法實現(xiàn)隨時隨地追蹤物流快遞的進(jìn)展信息。該文介紹了一種基于Android智能手機(jī)為查詢終端的物流信息查詢系統(tǒng)的設(shè)計,可以實現(xiàn)移動的物流信息查詢。

下面,我們首先簡單介紹了一下Android平臺上軟件開發(fā)的有關(guān)知識,然后詳細(xì)分析說明了系統(tǒng)的設(shè)計過程和關(guān)鍵技術(shù),最后給出了該系統(tǒng)的運行測試結(jié)果。

1 Android軟件開發(fā)介紹

Android是當(dāng)前主流的智能手機(jī)操作系統(tǒng)之一,其架構(gòu)主要由四部分構(gòu)成,由下到上依次為:Linux核心層、系統(tǒng)運行庫層、應(yīng)用程序框架層和應(yīng)用程序?qū)?。Android操作系統(tǒng)的內(nèi)核屬于Linux內(nèi)核的一個分支,該層用來提供系統(tǒng)的底層服務(wù),包括安全機(jī)制、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧及一系列的驅(qū)動模塊。系統(tǒng)運行庫層包括程序庫和運行時庫。程序庫主要是一些C/C++庫;運行時庫包含一組核心庫(提供了Java語言核心庫內(nèi)的大部分功能)和Dalvik虛擬機(jī)。應(yīng)用程序框架層為應(yīng)用程序的設(shè)計提供了可重用的一組組件,簡化了用戶的程序設(shè)計。應(yīng)用程序?qū)蛹礊橛脩舫绦蛩诘膶哟?,Android本身附帶了一些核心的應(yīng)用程序,包括e-mail客戶端、短信程序、日歷、地圖、瀏覽器、通訊錄等等[1-2]。

目前所有的Android應(yīng)用程序都是由Java語言開發(fā)的,其邏輯組成主要是通過使用應(yīng)用程序框架層提供的有關(guān)組件構(gòu)成。應(yīng)用程序框架層中的主要組件有:Activity (活動)、Service(服務(wù))、Content(內(nèi)容)Provider和Intent(意圖)等。Activity是最基本的模塊之一,所有程序的流程都運行在Activity之中。Activity一般代表手機(jī)屏幕的一個屏,在其中可以添加一些Button、CheckBox等控件。一般一個Android應(yīng)用是由多個Activity組成的,這多個Activity之間可以進(jìn)行相互跳轉(zhuǎn)。Service是一個應(yīng)用程序組件,它長時間運行在后臺,而沒有用戶界面,負(fù)責(zé)數(shù)據(jù)的更新,觸發(fā)通知等工作。Content Provider主要的功能就是存儲并檢索數(shù)據(jù)以及向其他應(yīng)用程序提供訪問數(shù)據(jù)的接口。Intent是一個將要執(zhí)行的動作的抽象的描述,一般來說是作為參數(shù)來使用,由Intent來協(xié)助完成Android各個組件之間的通訊。[3-4]

2物流查詢系統(tǒng)的設(shè)計

物流信息查詢軟件的設(shè)計主要包含:用戶界面的設(shè)計;與服務(wù)端接口的通信;服務(wù)端反饋數(shù)據(jù)的解析和顯示等方面。下面分別從系統(tǒng)架構(gòu)、整體流程、接口訪問、數(shù)據(jù)解析等方面來說明軟件的設(shè)計內(nèi)容。

2.1系統(tǒng)總體架構(gòu)

物流信息查詢系統(tǒng),屬于客服-服務(wù)器工作模式。服務(wù)端是各個物流公司的物流查詢平臺,運行在服務(wù)器上面,直接通過Internet對外提供服務(wù);該文中設(shè)計的信息查詢軟件則屬于客戶端,是基于Android手機(jī)平臺的。手機(jī)通過3G網(wǎng)絡(luò)或WLAN訪問Internet,實現(xiàn)與服務(wù)器的通信。

由于提供快遞服務(wù)的物流公司多達(dá)上百家,常用的也有幾十家。客戶端軟件與這些物流公司的服務(wù)器的通信方式可以采用兩種方式:1)直接通信方式,客戶端軟件直接跟每家公司的服務(wù)器進(jìn)行通信;2)間接通信方式,客戶端軟件跟某個中間服務(wù)器進(jìn)行通信,該中間服務(wù)器再與每家公司的服務(wù)器進(jìn)行通信。方式1),客戶端軟件復(fù)雜,而且隨著需要支持不同物流公司的查詢,或某公司的查詢接口發(fā)生改變,客戶端軟件就需要升級。方式2),則將這種復(fù)雜處理集中到了中間服務(wù)器上,而客戶端軟件處理就很容易,即使在需要支持新的物流公司的查詢時,只需要升級中間服務(wù)器的軟件,而其對外提供的接口保持不變,客戶端軟件就不用升級。

綜上所述,我們采用了方式二來實現(xiàn)該系統(tǒng),可以得出系統(tǒng)的總體架構(gòu)如圖1所示。它主要由服務(wù)、網(wǎng)絡(luò)和客戶三部分構(gòu)成,其中服務(wù)器由各個物流公司服務(wù)器和中間服務(wù)器構(gòu)成,網(wǎng)絡(luò)主要有Internet、3G/WLAN構(gòu)成。

另外,需要說明的是:中間服務(wù)器我們可以自己來設(shè)計開發(fā),但是一方面需要詳細(xì)了解各個物流公司的快遞查詢接口,并獲得授權(quán)訪問,另一方面,必須很好的設(shè)計客戶軟件和中間服務(wù)器間的訪問接口,此外,在客戶軟件在提供的用戶使用時,我們必須建立好中間服務(wù)器。目前考慮到實際需要,中間的服務(wù)器沒有自己設(shè)計,選擇了快遞100來實現(xiàn)我們的系統(tǒng)。

圖1系統(tǒng)總體框架

2.2客戶端的數(shù)據(jù)處理流程

物流信息查詢系統(tǒng)的客戶端程序的主要數(shù)據(jù)處理流程可以表示為圖2。程序首先獲取用戶輸入的查詢信息參數(shù)(如物流公司和快遞單號);然后構(gòu)造查詢語句,提交給查詢服務(wù)器;最后獲取服務(wù)器反饋的數(shù)據(jù)并分析。如果查詢成功,則通過解析返回的數(shù)據(jù)(返回的數(shù)據(jù)可能是XML或JSON等格式數(shù)據(jù)),提取有關(guān)信息顯示給用戶;如果查詢錯誤,則提示錯誤原因。

圖2客戶端的數(shù)據(jù)處理流程

2.3獲取用戶輸入信息

Activity是Android應(yīng)用程序的基礎(chǔ)功能單元。一個Activity可以做很多事,但是他自己并不會顯示到屏幕上,需要使用view、view group和Layout等組件來表達(dá)用戶界面單元。Android中的界面生成有三種方式:XML配置生成;用戶界面接口生成;代碼生成。根據(jù)MVC原則,UI應(yīng)該與程序邏輯相分離,因此,在XML中定義UI結(jié)構(gòu)是高度推薦的。

本系統(tǒng)設(shè)計定義了兩個Activity,第一個Activity主要包含有一個ListView組件(用于讓用戶選擇快遞商),第二個Activity主要包含有一個EditText(用于輸入快遞單號)和一個TextView(用于顯示查詢結(jié)果),Activity之間通過使用Intent實現(xiàn)通信。

圖3是本項目的相關(guān)界面設(shè)計。

圖3XML定義的統(tǒng)界面

同時對定義的Button按鈕對象設(shè)置了監(jiān)聽器(匿名內(nèi)部類),用戶監(jiān)聽Button對象的單擊事件,表示用戶輸入完信息,開始提交給服務(wù)器準(zhǔn)備查詢代碼如下。

btn.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

//相關(guān)操作}

});

2.4通過快遞訪問接口與服務(wù)器進(jìn)行交互

客戶程序在向服務(wù)器通信時,客戶端程序通過訪問服務(wù)端提供的有關(guān)應(yīng)用程序訪問接口API(Application Programming Interface),提交有關(guān)的信息查詢參數(shù)給服務(wù)器;服務(wù)端根據(jù)所提交的參數(shù),返回對應(yīng)的符合某種格式的查詢結(jié)果信息。可見,客戶程序與服務(wù)器通信的接口是系統(tǒng)的關(guān)鍵技術(shù)之一。

由于本項目采用的快遞查詢服務(wù)器網(wǎng)站是快遞100,快遞100提供了多種快遞訪問接口。因為該文程序是在手機(jī)平臺上使用,所以申請的是快遞100提供的API URL接口,該接口支持絕大部分快遞公司,其可以支持返回多種不同格式的完整結(jié)果。

該接口的樣式如下[7]:

http://api.kuaidi100.com/api?id=[key]&com=[tiantian]ν=[1111]&valicode=[xx]&show=[0|1|2|3]&muti=[0|1]&order=[desc|asc]

其中的參數(shù)說明如表1。

表1快遞訪問接口參數(shù)說明[7]

3結(jié)束語

該文通過手機(jī)平臺上的物流信息查詢系統(tǒng)的框架分析,提出了構(gòu)建一個基于中間服務(wù)器平臺的智能手機(jī)快遞查詢系統(tǒng),這樣構(gòu)建的系統(tǒng)可以很好的適應(yīng)手機(jī)平臺的軟件的限制。文中隨后分析了在該系統(tǒng)架構(gòu)下,客戶端軟件的主要設(shè)計內(nèi)容,開發(fā)的軟件在模擬器和真實手機(jī)平臺上都運行驗證成功,可以實際使用。后期主要改進(jìn)的地方有:其一,加強(qiáng)客服端軟件的相關(guān)附加功能,使其具有一定的競爭性;其二,分析設(shè)計中間服務(wù)器的功能,特別是與客戶端的接口定義,使其具有一套完整的物流信息查詢系統(tǒng)。

參考文獻(xiàn):

[1]王世江,蓋索林.Google Android開發(fā)入門指南[M]. 2版.北京:人民郵電出版社,2009.

[2] Komatineni S.精通Android 3[M].北京:人民郵電出版社,2011.

[3]李剛.瘋狂Android講義[M].北京:電子工業(yè)出版社.2011.

[4]楊豐盛. Android技術(shù)內(nèi)幕:系統(tǒng)卷[M].北京:機(jī)械工業(yè)出版社.2011.

[5]楊豐盛. Android應(yīng)用開發(fā)揭秘[M].北京:機(jī)械工業(yè)出版社.2010.

[6]柯元旦. Android內(nèi)核剖析[M].北京:電子工業(yè)出版社.2011.

[7]快遞100.快遞查詢接口(API)介紹[EB/OL].( 2011) .http://www.kuaidi100.com/openapi/.

猜你喜歡
接口
現(xiàn)場采購代表與總部及現(xiàn)場各部門的接口關(guān)系
某電站工程設(shè)計管理與施工、質(zhì)量控制接口關(guān)系研究
脫硝數(shù)據(jù)傳輸系統(tǒng)遠(yuǎn)程無線監(jiān)控技術(shù)的研發(fā)與應(yīng)用
中文信息(2016年10期)2016-12-12 12:56:55
西門子SPPA—T3000在委內(nèi)瑞拉燃機(jī)電廠中的應(yīng)用與接口
中國市場(2016年32期)2016-12-06 11:16:14
居家環(huán)境監(jiān)測系統(tǒng)研究
中俄網(wǎng)絡(luò)語言編碼接口問題的研究
科技視界(2016年3期)2016-02-26 10:14:32
宁远县| 仁布县| 阜城县| 莫力| 会昌县| 虞城县| 齐河县| 北川| 大石桥市| 沿河| 游戏| 北票市| 邢台市| 和龙市| 潼南县| 伊宁市| 西安市| 扎赉特旗| 确山县| 余江县| 崇礼县| 沿河| 同德县| 宁乡县| 邢台市| 麻城市| 于田县| 鄂托克前旗| 行唐县| 苍山县| 巴塘县| 晋宁县| 阳曲县| 临汾市| 交城县| 九台市| 德化县| 大安市| 榆林市| 资阳市| 资源县|