• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Android平臺(tái)的物流信息查詢(xún)軟件的設(shè)計(jì)與實(shí)現(xiàn)

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

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

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

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

      中圖分類(lèi)號(hào):TN929文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):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)上購(gòu)物的漸漸流行,對(duì)所購(gòu)商品的物流追蹤朝著即時(shí)化,智能化的方向發(fā)展。目前大部分的物流信息查詢(xún)都是基于個(gè)人電腦,用戶(hù)通過(guò)使用瀏覽器訪問(wèn)相關(guān)的物流公司網(wǎng)站來(lái)實(shí)現(xiàn)物流查詢(xún)。由于個(gè)人計(jì)算機(jī)攜帶的不便性和互聯(lián)網(wǎng)接入地點(diǎn)的限制,普通網(wǎng)絡(luò)用戶(hù)無(wú)法實(shí)現(xiàn)隨時(shí)隨地追蹤物流快遞的進(jìn)展信息。該文介紹了一種基于Android智能手機(jī)為查詢(xún)終端的物流信息查詢(xún)系統(tǒng)的設(shè)計(jì),可以實(shí)現(xiàn)移動(dòng)的物流信息查詢(xún)。

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

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

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

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

      2物流查詢(xún)系統(tǒng)的設(shè)計(jì)

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

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

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

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

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

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

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

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

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

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

      2.3獲取用戶(hù)輸入信息

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

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

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

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

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

      btn.setOnClickListener(new View.OnClickListener() {

      public void onClick(View v) {

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

      });

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

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

      由于本項(xiàng)目采用的快遞查詢(xún)服務(wù)器網(wǎng)站是快遞100,快遞100提供了多種快遞訪問(wèn)接口。因?yàn)樵撐某绦蚴窃谑謾C(jī)平臺(tái)上使用,所以申請(qǐng)的是快遞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ù)說(shuō)明如表1。

      表1快遞訪問(wèn)接口參數(shù)說(shuō)明[7]

      3結(jié)束語(yǔ)

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

      參考文獻(xiàn):

      [1]王世江,蓋索林.Google Android開(kāi)發(fā)入門(mén)指南[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)用開(kāi)發(fā)揭秘[M].北京:機(jī)械工業(yè)出版社.2010.

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

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

      猜你喜歡
      接口
      現(xiàn)場(chǎng)采購(gòu)代表與總部及現(xiàn)場(chǎng)各部門(mén)的接口關(guān)系
      某電站工程設(shè)計(jì)管理與施工、質(zhì)量控制接口關(guān)系研究
      脫硝數(shù)據(jù)傳輸系統(tǒng)遠(yuǎn)程無(wú)線(xiàn)監(jiān)控技術(shù)的研發(fā)與應(yīng)用
      中文信息(2016年10期)2016-12-12 12:56:55
      西門(mén)子SPPA—T3000在委內(nèi)瑞拉燃機(jī)電廠中的應(yīng)用與接口
      居家環(huán)境監(jiān)測(cè)系統(tǒng)研究
      中俄網(wǎng)絡(luò)語(yǔ)言編碼接口問(wèn)題的研究
      科技視界(2016年3期)2016-02-26 10:14:32
      郴州市| 信丰县| 微山县| 葵青区| 阳原县| 汤原县| 遵义市| 九台市| 广水市| 铜川市| 华容县| 卓资县| 南昌县| 绥宁县| 青神县| 和硕县| 河间市| 襄汾县| 阿拉善右旗| 荣成市| 惠安县| 桂平市| 通江县| 北海市| 荆州市| 泰和县| 靖江市| 天长市| 宝应县| 太湖县| 深州市| 白沙| 宁强县| 乐至县| 准格尔旗| 大港区| 仁寿县| 基隆市| 玉林市| 旬邑县| 临海市|