《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Web Service的Android技術(shù)應(yīng)用研究
基于Web Service的Android技術(shù)應(yīng)用研究
來源:電子技術(shù)應(yīng)用2014年第1期
龔瑞琴, 畢 利
寧夏大學(xué) 數(shù)學(xué)與計(jì)算機(jī)學(xué)院,寧夏 銀川750021
摘要: 在客戶端與服務(wù)器間通過web Service進(jìn)行通信,給出Android應(yīng)用程序開發(fā)的完整過程,服務(wù)器端基于Java的SSM結(jié)構(gòu),利用Web Service實(shí)現(xiàn)訪問接口,Android客戶端通過Ksoap調(diào)用Web Service,并以網(wǎng)格化管理為例,最終實(shí)現(xiàn)了Android客戶端與服務(wù)器靈活信息交互。
中圖分類號(hào): TP391
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)01-0134-03
Research on android technology based on Web service
Gong Ruiqin, Bi Li
Department of Mathematics and Computer Science, Ningxia University, Yinchuan 750021, China
Abstract: Between the client application and the server, the Web Service is used to implement communication. A complete Android application development process is presented. The server uses a Jave-based SSM structure, making use of the Web Service to implement access interface, and Android client uses Ksoap to call Web Service, and as a case study of grid management. The flexible information interaction between Android cliend and server is ultimately achieved.
Key words : Web Service; Android; Ksoap2; mobile application; grid management

    Android平臺(tái)的開放性、不受束縛性以及環(huán)境的自由性使其擁有更多的開發(fā)者 [1]。利用Android的優(yōu)勢(shì)對(duì)系統(tǒng)進(jìn)行研發(fā),對(duì)研究、開發(fā)者有一定的參考意義。面向服務(wù)架構(gòu)(SOA)的實(shí)現(xiàn)技術(shù),便于異構(gòu)系統(tǒng)互聯(lián)、組合,得到了廣泛的關(guān)注。網(wǎng)絡(luò)服務(wù)(Web Service)作為SOA的一種實(shí)現(xiàn)技術(shù)是最常用的移動(dòng)架構(gòu),但獨(dú)立的移動(dòng)應(yīng)用需要把內(nèi)容存儲(chǔ)在移動(dòng)設(shè)備上,浪費(fèi)了大量存儲(chǔ)空間。為了解決這個(gè)問題,可采用分布式的移動(dòng)應(yīng)用,只在需要時(shí)加載,即可Web服務(wù)可滿足獨(dú)立于平臺(tái)的應(yīng)用程序并支持分布式系統(tǒng)應(yīng)用[2]。
1 Android應(yīng)用系統(tǒng)框架
    Android可以通過Http、套接字(Socket)、Web Service、遠(yuǎn)程調(diào)用協(xié)議(RPC)與服務(wù)器進(jìn)行交互。但是基于Socket的傳輸只適用于安全性、實(shí)時(shí)性高的應(yīng)用;Httpclient高效穩(wěn)定,但是維護(hù)成本高昂;RPC可跨語言跨平臺(tái),但是在編譯期無法排錯(cuò)。而Web Service可以直接利用Web服務(wù)的監(jiān)聽,已逐漸成為Web上的重要組件,提供松耦合機(jī)制,所基于的協(xié)議充分開放[3],是創(chuàng)建可互操作、分布式應(yīng)用程序的新平臺(tái)[4],并且具有一個(gè):為無線設(shè)備提供服務(wù)?;谝陨蟽?yōu)點(diǎn)本系統(tǒng)選擇運(yùn)用Web Service進(jìn)行Android客戶端與服務(wù)器端的通信。
 以網(wǎng)格化管理平臺(tái)為例,介紹Android平臺(tái)下通過利用Web Service對(duì)服務(wù)器進(jìn)行數(shù)據(jù)訪問和通信,圖1所示為系統(tǒng)結(jié)構(gòu)圖。

2 網(wǎng)格化管理平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
2.1 系統(tǒng)應(yīng)用背景

    網(wǎng)格化管理是社會(huì)的一個(gè)趨勢(shì),借助先進(jìn)的信息技術(shù),對(duì)承擔(dān)社會(huì)管理的職能部門和社會(huì)資源進(jìn)行協(xié)調(diào),最大限度地發(fā)揮資源共享的優(yōu)勢(shì),提高社會(huì)管理服務(wù)水平。城市網(wǎng)格化管理是一種革命和創(chuàng)新,將城區(qū)劃分為“網(wǎng)格”,使這些網(wǎng)格成為政府管理基層的單元,利用網(wǎng)格化的特點(diǎn)將數(shù)據(jù)、事件進(jìn)行整合。在這樣的趨勢(shì)下,利用移動(dòng)設(shè)備,可以隨時(shí)隨地進(jìn)行信息的采集、查詢,使得基于網(wǎng)格化的信息管理更加便利高效。
2.2 系統(tǒng)架構(gòu)介紹
    客戶端使用AndroidSDK2.2版本,Android開發(fā)插件ADT的eclipse軟件服務(wù)器端采用SSM(Struts2.0,Spring,Mybits)架構(gòu)及數(shù)據(jù)庫Oracle、axis進(jìn)行服務(wù)的發(fā)布,并借助KSOAP來調(diào)用Web Service。KSOAP是一個(gè)庫,基于SOAP(Simple Object Access Protocol)框架,通過調(diào)用KSOAP可實(shí)現(xiàn)Android客戶端與服務(wù)端的數(shù)據(jù)交互。系統(tǒng)實(shí)現(xiàn)流程如圖2所示。

2.2.1 服務(wù)器端實(shí)現(xiàn)
    服務(wù)器端實(shí)現(xiàn)是通過基于Java的SSM框架,利用Mybits翻轉(zhuǎn)數(shù)據(jù)庫形成基本的Model層,View利用客戶端來顯示具體信息。Controller控制層由Struts2實(shí)現(xiàn),Spring進(jìn)行業(yè)務(wù)邏輯的處理。
    (1)用戶權(quán)限的設(shè)置
    不同的用戶根據(jù)不同的權(quán)限登錄,看到的界面及功能不同,并且根據(jù)權(quán)限的不同,看到的信息和處理的事件也不同。
    (2)應(yīng)用Entity
    數(shù)據(jù)庫底層通過Mybits實(shí)現(xiàn)數(shù)據(jù)庫的翻轉(zhuǎn),把實(shí)體自動(dòng)持久地轉(zhuǎn)換到數(shù)據(jù)庫中,形成entity文件及mapper文件(包括增、刪、改、查的實(shí)現(xiàn)),配置的部分代碼為:
    <table tableName="t_wggl_wgsx"
    domainObjectName="Wgsx>
    <generatedKey column="wgsxid"
    sqlStatement="select wggl_wgsx _seq.nextval as wgsxid from dual" type="pre" >
    </table>。
    (3)接口的聲明
    聲明網(wǎng)格事項(xiàng)新增的方法,并且還需區(qū)分未處理或轉(zhuǎn)督辦的事項(xiàng),同時(shí)包括獲取網(wǎng)格事項(xiàng)的詳細(xì)信息,其中操作不包含核實(shí)及核實(shí)辦理結(jié)果。方法代碼如下:
    public String addWgsx(Wgsx wgsx,Lzjl lzjl,String fj)。
    定義添加網(wǎng)格事項(xiàng)信息的方法,包括事項(xiàng)基本信息、處理狀態(tài)、流轉(zhuǎn)信息以及要添加的附件信息。public String getDbList()通過此方法獲取備案信息,領(lǐng)導(dǎo)者可以查看相應(yīng)的處理情況,而辦事人員登錄時(shí)會(huì)獲得其權(quán)限,根據(jù)權(quán)限查看并辦理相應(yīng)的事項(xiàng)。
    (4)方法實(shí)現(xiàn)
    首先要獲取事項(xiàng)所在的網(wǎng)格,并且要獲取JSON(Java Script Object Notation)對(duì)象,將數(shù)據(jù)轉(zhuǎn)換成JSON數(shù)據(jù),在Android端獲取此數(shù)據(jù)并進(jìn)行展示。
    (5)服務(wù)的發(fā)布
    在方法中實(shí)現(xiàn)了方法名稱、參數(shù)的具體服務(wù)過程。系統(tǒng)使用Axis2服務(wù)發(fā)布技術(shù),它支持Web 服務(wù)描述語言(WSDL),在服務(wù)器端發(fā)布服務(wù)之后,可以看到WSDL的內(nèi)容,包括服務(wù)的命名空間(WSNS)、服務(wù)名稱、服務(wù)的方法、參數(shù)等信息,這些信息供客戶端調(diào)用。網(wǎng)格事項(xiàng)的服務(wù)配置部分代碼如下:
    <description>網(wǎng)格事項(xiàng)service</description>
    <parameter name="ServiceObjectSupplier"> </ parameter>
    <parametername="SpringBeanName">WgsxService</parameter>。
    通過部署可以看到發(fā)布的服務(wù)信息,即客戶端獲取的信息。
    (6) 數(shù)據(jù)交換
    服務(wù)器端要聲明JSON,JSON數(shù)據(jù)是一種輕量級(jí)的數(shù)據(jù)交換格式,是完全獨(dú)立于語言的文本格式,該數(shù)據(jù)提供了更好的靈活性和簡(jiǎn)單性。服務(wù)器和客戶端實(shí)現(xiàn)數(shù)據(jù)交換,需在網(wǎng)格事項(xiàng)方法的實(shí)現(xiàn)中將結(jié)果轉(zhuǎn)換成JSON格式的數(shù)據(jù),即JsonUtil.object2json(resultMap)。
2.2.2 客戶端具體實(shí)現(xiàn)
    系統(tǒng)運(yùn)用第三方Ksoap2來實(shí)現(xiàn)Android客戶端與服務(wù)端的數(shù)據(jù)交互,改進(jìn)了對(duì)Microsoft dotNet的兼容,是一種不需要形成代理的,調(diào)用Web Service的方法??赏ㄟ^實(shí)例SoapObject指定WebService命名空間,調(diào)用方法名稱,在activity中實(shí)現(xiàn)獲取服務(wù)器端信息。
    Layout使用LinearLayout布局,系統(tǒng)下拉框信息是字典的形式,在SqlLite數(shù)據(jù)庫中進(jìn)行轉(zhuǎn)換,放入Android客戶端。
    當(dāng)客戶端發(fā)起網(wǎng)格事項(xiàng)的請(qǐng)求時(shí),需要查找發(fā)布的服務(wù)信息,在Wgsxmanager.java中寫出發(fā)起服務(wù)的名稱、命名空間以及方法名,添加網(wǎng)格事項(xiàng)的服務(wù)代碼如下:
    private static final String URL=MyURLActivity.URL+"/services/wgbaService?wsdl";
    定義服務(wù)的路徑,
    private static final String NAMESPACE="http://impl.service.wgsx.zhxxpt.com";
    定義服務(wù)的命名空間,
    private static final String METHOD_NAME="addWgsx";
    定義服務(wù)中調(diào)用的方法名,
    方法的具體實(shí)現(xiàn)以及服務(wù)器信息的獲取,怎樣將網(wǎng)格事項(xiàng)的信息保存到服務(wù)器端的數(shù)據(jù)庫中,都要在wgsxactivity.java中具體實(shí)現(xiàn),其中頁面屬性要與layout布局設(shè)置的id一致,同時(shí)要獲取JSON數(shù)據(jù)。主要方法有:(1)initWgxx();初始化網(wǎng)格信息,不同網(wǎng)格查看不同網(wǎng)格事項(xiàng)信息;(2)findViewById(),初始化控件;(3)setListener(),設(shè)置監(jiān)聽;(4)initViewValue(),初始化控件。
2.2.3 頁面間參數(shù)的傳遞
     頁面間的跳轉(zhuǎn)以及參數(shù)的傳遞,需要將傳遞參數(shù)的頁面信息附帶到要跳轉(zhuǎn)的頁面,通過定義JSON數(shù)據(jù)獲取要傳遞的數(shù)據(jù)。通過如下代碼實(shí)現(xiàn)參數(shù)的傳遞:
    Intent intent = new Intent();
    intent.putExtra("cxResult",jsonObj.getString("result"));
    intent.setClass(WgsxActivity.this,WgsxcxListActivity.class);
    WgsxActivity.this.startActivity(intent);
上述代碼表示把網(wǎng)格事項(xiàng)傳遞到網(wǎng)格事項(xiàng)列表這個(gè)頁面中。而在接收此參數(shù)的頁面只需運(yùn)用以下代碼就可以獲取上一個(gè)頁面?zhèn)鬟f過來的信息:
    String cxResult = this.getIntent().getString
    Extra("cxResult");
3 實(shí)驗(yàn)分析
    運(yùn)行系統(tǒng)流程為:?jiǎn)?dòng)服務(wù)端,在客戶端配置服務(wù)器端地址,通過運(yùn)行Android應(yīng)用程序形成apk文件。當(dāng)客戶端發(fā)起請(qǐng)求,首先找到匹配的服務(wù),通過Web Service獲取服務(wù)端的信息,最后將信息顯示在移動(dòng)設(shè)備上。圖3所示為事項(xiàng)備案的錄入,包括附件的上傳(可即照即傳),下拉框信息在數(shù)據(jù)庫以字典代碼形式保存,減少了數(shù)據(jù)庫的存儲(chǔ)量。

 

 

    通過運(yùn)用Web Service技術(shù)實(shí)現(xiàn)Android客戶端與服務(wù)端數(shù)據(jù)的交互,在系統(tǒng)中Android客戶端請(qǐng)求服務(wù),實(shí)現(xiàn)了數(shù)據(jù)錄入、信息展示、圖片獲取以及利用系統(tǒng)的Service實(shí)現(xiàn)了圖片信息的定位。考慮到安全問題,最后對(duì)形成的apk進(jìn)行加密。
    經(jīng)過測(cè)試,系統(tǒng)實(shí)用性強(qiáng),維護(hù)簡(jiǎn)單,能隨時(shí)隨地進(jìn)行信息的錄入和展示。實(shí)驗(yàn)證明通過Web Service系統(tǒng)可非常靈活的實(shí)現(xiàn),服務(wù)信息進(jìn)行修改后,只需要重新發(fā)布服務(wù),由客戶端調(diào)用即可。
    移動(dòng)應(yīng)用的開發(fā)選擇方式很多,采用Web Service進(jìn)行移動(dòng)應(yīng)用的開發(fā)給Android客戶端與服務(wù)器端的通信提供了一種標(biāo)準(zhǔn)化的方式。Android用戶界面的豐富性、操作簡(jiǎn)便性與Web Service的跨平臺(tái)可操作性,兩者的結(jié)合對(duì)移動(dòng)應(yīng)用的開發(fā)提供了一個(gè)更好的發(fā)展方向。
參考文獻(xiàn)
[1] BURNETTE E. Android: Introducing Google&rsquo;s mobile development platform(2nd edition)[M]. The Pragmatic Bookshelf, 2009.
[2] GUINARD D, TRIFA V, KARNOUSKOS S, et al. Interacting with the SOA-based internet of things:discovery,query, selection, and on-demand provisioning of Web Services[J]. IEEE Transactions on Services Computing, 2010,3(3):223-235.
[3] 王澤軍,韓在峰.基于整合模式的EMS/SAS監(jiān)控系統(tǒng)研究與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2010,36(9):145-146.
[4] MANTANARI U. Web services and models of computation[J].Electronic Notes in Theoretical Computer Science, 2004,105(10):5-9.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
午夜亚洲影视| 一本久道久久综合狠狠爱| 亚洲黄色在线| 国产字幕视频一区二区| 国产精品久久久久7777婷婷| 欧美精品一区二区蜜臀亚洲| 久久青青草综合| 久久9热精品视频| 亚洲综合精品一区二区| 亚洲视频大全| 国产精品99久久久久久久vr| 亚洲人在线视频| 亚洲国产精品一区在线观看不卡| 久久久久久穴| 亚洲欧美日韩一区二区| 亚洲午夜久久久久久久久电影网| 99精品欧美一区二区三区综合在线| 亚洲福利国产| 亚洲国产日韩欧美在线图片| 久久精品日韩欧美| 久久不射中文字幕| 亚洲第一成人在线| 亚洲精品视频在线| 91久久精品日日躁夜夜躁国产| 亚洲大片av| 亚洲国产另类 国产精品国产免费| 在线免费不卡视频| 亚洲福利视频专区| 亚洲人精品午夜| 亚洲人成亚洲人成在线观看图片 | 欧美精品啪啪| 欧美日韩成人在线观看| 欧美日韩亚洲免费| 国产精品国产三级国产专播精品人 | 亚洲日本免费电影| 99re6热只有精品免费观看| 日韩视频免费在线| 亚洲视频一二| 亚洲欧美网站| 亚洲国产精品999| 99视频一区| 午夜精品久久久久久久蜜桃app | 9色国产精品| 亚洲一区二区精品在线| 欧美一区二区精品| 亚洲欧洲综合| 亚洲网站在线看| 欧美在线视频播放| 免费久久精品视频| 亚洲欧美国产高清va在线播| 欧美亚洲视频一区二区| 久久男人资源视频| 欧美日韩国产91| 国产精品美女主播| 国内揄拍国内精品久久| 亚洲国产欧美另类丝袜| 夜夜嗨av一区二区三区四季av| 亚洲在线观看免费| 亚洲高清不卡av| 在线视频你懂得一区| 欧美伊人久久| 欧美国产亚洲视频| 国产精品视频yy9099| 激情欧美一区二区三区在线观看| 亚洲精品美女久久7777777| 亚洲综合电影| 亚洲电影第1页| 亚洲调教视频在线观看| 久久中文久久字幕| 国产精品激情电影| 在线观看一区视频| 亚洲一级一区| 亚洲人线精品午夜| 欧美一区二区久久久| 欧美激情va永久在线播放| 国产免费成人| 最新日韩在线| 欧美一区二区视频97| 中文av字幕一区| 免费在线亚洲欧美| 国产精品视频观看| 亚洲欧洲一区二区三区| 亚洲欧美综合v| 夜夜嗨av一区二区三区中文字幕| 久久精选视频| 国产精品mm| 亚洲国产美女精品久久久久∴| 亚洲综合三区| 一区电影在线观看| 玖玖在线精品| 国产欧美一区二区精品秋霞影院| 日韩一级不卡| 亚洲人永久免费| 久久噜噜亚洲综合| 国产精品久久一卡二卡| 91久久精品一区二区三区| 欧美在线观看视频一区二区三区 | 久久精品国产视频| 国产精品a久久久久| 亚洲日本欧美在线| 亚洲经典自拍| 久久久蜜桃一区二区人| 国产九九视频一区二区三区| 夜夜嗨av一区二区三区四区| 日韩视频在线观看国产| 乱码第一页成人| 国产一区二区三区高清在线观看| 一区二区三区精品久久久| 亚洲区免费影片| 久久手机精品视频| 国产日韩欧美日韩大片| 亚洲一区高清| 亚洲中午字幕| 欧美午夜片在线免费观看| 亚洲精品孕妇| 一区二区三区高清| 欧美激情亚洲一区| 亚洲国产日韩欧美综合久久| 亚洲国产免费看| 美女精品自拍一二三四| 激情91久久| 亚洲第一视频| 久久久久欧美精品| 国产一区二区在线观看免费| 香港久久久电影| 欧美在线日韩精品| 国产午夜精品久久| 欧美一区二区视频观看视频| 久久精品人人做人人综合| 国产美女精品视频免费观看| 午夜免费在线观看精品视频| 欧美一级午夜免费电影| 国产美女高潮久久白浆| 欧美亚洲色图校园春色| 久久久久久91香蕉国产| 国产主播一区二区三区| 久久精品亚洲一区二区三区浴池 | 国户精品久久久久久久久久久不卡| 亚洲欧美日韩综合aⅴ视频| 性色av一区二区三区红粉影视| 国产农村妇女毛片精品久久麻豆| 亚洲综合日韩| 久久国内精品视频| 国内免费精品永久在线视频| 亚洲国产精品传媒在线观看| 美日韩在线观看| 亚洲精品免费看| 亚洲午夜在线观看| 国产精品自在在线| 久久精品免费| 欧美喷水视频| 亚洲视频第一页| 久久国产精品99精品国产| 精品成人a区在线观看| 日韩视频免费观看| 欧美丝袜一区二区| 午夜欧美大尺度福利影院在线看| 久久亚洲欧洲| 亚洲精品在线看| 亚洲欧美日韩第一区| 国产精品人人爽人人做我的可爱| 性欧美办公室18xxxxhd| 久久综合一区二区三区| 亚洲另类自拍| 欧美在线一二三| 亚洲第一页在线| 亚洲欧美国产高清va在线播| 国产综合香蕉五月婷在线| 亚洲伦伦在线| 国产伦精品一区二区三区视频黑人 | 91久久久久久久久| 亚洲欧美美女| 黄色一区三区| 亚洲婷婷综合久久一本伊一区| 国产目拍亚洲精品99久久精品 | 国产一区白浆| 亚洲精品系列| 国产精品人成在线观看免费 | 亚洲欧美变态国产另类| 美女精品一区| 亚洲一级在线观看| 欧美成人福利视频| 亚洲天堂成人| 母乳一区在线观看| 亚洲午夜国产一区99re久久| 久久琪琪电影院| 一区二区三区高清在线观看| 久久久精品视频成人| 99视频有精品| 久热精品在线视频| 亚洲一区二区三区影院| 男女激情视频一区| 亚洲欧美日韩视频一区| 欧美日本韩国一区二区三区| 午夜精品一区二区三区四区| 欧美片网站免费| 久久高清国产| 国产精品天天看| 一区二区欧美精品| 一区二区三区我不卡|