android客戶(hù)端與服務(wù)器端的搭建_第1頁(yè)
android客戶(hù)端與服務(wù)器端的搭建_第2頁(yè)
android客戶(hù)端與服務(wù)器端的搭建_第3頁(yè)
android客戶(hù)端與服務(wù)器端的搭建_第4頁(yè)
android客戶(hù)端與服務(wù)器端的搭建_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ANDROID客戶(hù)端與服務(wù)器端的通訊

之環(huán)境搭建

服務(wù)器端的搭建考慮了很久,綜合各種因素決定服務(wù)器端用的搭配如下 1服務(wù)器用開(kāi)源的tomcat,版本tomcat-6.0.20,JDK1.6 2技術(shù)框架用現(xiàn)在比較流行的SSH(Struts2,Spring,Hebernate)

主要是用Struts2,要用到Struts2里JSON,因?yàn)榉?wù)器端傳送數(shù)據(jù)給客戶(hù)端用的是JSON來(lái)傳輸。 3數(shù)據(jù)庫(kù):oracle---需要的包ojdbc6.jar 4開(kāi)發(fā)工具:Myeclipse7.5以上 5用JSON傳輸,至少需要JSON的包有:1commons-lang.jar、2 commons-beanutils.jar、3commons-collections.jar、 4commons-logging.jar、5ezmorph.jar、 6json-lib-2.2.2-jdk15.jar,其它包不必贅述。 6需要在struts.xml修改文件如下:服務(wù)器端的搭建<packagename="deppon"extends="json-default"><!--需要將struts-default改為json-default--><!--settingaction--><actionname="login"class=".LoginAction"method="login"><resulttype="json"></result><!--返回值類(lèi)型設(shè)置為json,不設(shè)置返回頁(yè)面--></action><actionname="showVideos"class=".ShowVideosAction"method="showVideos"><resulttype="json"></result></action></package>服務(wù)器端的搭建上述struts.xml文件主要修改兩處:1extends的值改為json-default,默認(rèn)為struts-default即:<packagename="deppon"extends="json-default">2需要設(shè)置返回類(lèi)型為JSON即:<resulttype="json">修改這兩處即可服務(wù)器端的搭建Action需要現(xiàn)實(shí)兩個(gè)接口,一個(gè)是ServletRequestAware,另一個(gè)是ServletResponseAware,并且實(shí)現(xiàn)它們的兩個(gè)方法,如下setServletRequest和setServletResponse關(guān)鍵代碼:publicclassLoginActionextendsActionSupportimplementsServletRequestAware,ServletResponseAware{HttpServletRequestrequest;HttpServletResponseresponse;publicvoidsetServletRequest(HttpServletRequestarg0){this.request=arg0;}publicvoidsetServletResponse(HttpServletResponsearg0){this.response=arg0;}ANDROID客戶(hù)端環(huán)境搭建1開(kāi)發(fā)工具:Eclipse3.3或3.4,JDK6.02安裝

Eclipse插件

(ADT)3安裝SDK4安裝ANT用于發(fā)布apk應(yīng)用程序(可選)5環(huán)境變量配置如下:Android_SDK_HOME:解壓后的sdk目錄Eg.Android_SDK_HOME:D:\android-softwore\android-sdk-windowsANT_HOME:解壓后的ant目錄Eg.ANT_HOME:D:\android-softwore\apache-ant-1.7.1;ANDROID客戶(hù)端環(huán)境搭建1classpath的配置Classpath:.;D:\android-softwore\apache-ant-1.7.1\bin;D:\android-softwore\apache-ant-1.7.1\lib\ant.jar;F:\work\jdk\lib\dt.jar;F:\work\jdk\lib\tools.jar;我的jdk解壓在F:\work\jdkJAVA_HOME:F:\work\jdkPath:F:\work\jdk\bin;D:\android-softwore\apache-ant-1.7.1\bin;D:\android-softwore\android-sdk-windows\tools;Android向服務(wù)器端發(fā)送請(qǐng)求1向服務(wù)器端發(fā)送請(qǐng)求需要用到這幾個(gè)類(lèi):HttpClient,HttpPost,HttpResponse,HttpClienthttpClient=newDefaultHttpClient();HttpPostrequest=newHttpPost(newURI(url));url為請(qǐng)求的地址request.setEntity(newUrlEncodedFormEntity(NameValuePair,HTTP.UTF_8));NameValuePair:發(fā)送給服務(wù)器的數(shù)據(jù)HTTP.UTF_8為編碼方式//發(fā)送請(qǐng)求,返回一個(gè)響應(yīng)HttpResponserespnose=httpClient.execute(request);這個(gè)請(qǐng)求就發(fā)送到服務(wù)器端了。接下來(lái)就是接收數(shù)據(jù)//得到返回?cái)?shù)據(jù)客戶(hù)端獲取數(shù)據(jù)1在獲取數(shù)據(jù)之前要進(jìn)行判斷response.getStatusLine().getStatusCode()如果這個(gè)值等于200說(shuō)明成功,然后可以通過(guò)response.getEntity().getContent(),返回流進(jìn)行操作。Eg.StringBuildersb=newStrngBuilder();if(response.getStatusLine().getStatusCode()==200){BufferedReaderbufferedReader2=newBufferedReader(newInputStreamReader(response.getEntity().getContent()));Stringstr=null;while((str=bufferedReader2.readLine())!=null){sb.append(str);}向服務(wù)器發(fā)送信息

1可以用NameValuePair這個(gè)類(lèi),這個(gè)類(lèi)是像Map一樣的(key,value)鍵值對(duì)然后邦定到前面的請(qǐng)求實(shí)體里面去,httpRequest.setEntity(nameValuePari,HTTP.UTF_8);服務(wù)器端可以用request.getParameter(key)獲取數(shù)據(jù)關(guān)鍵代碼如下:List<NameValuePair>nameValuePair=newArrayList<NameValuePair>();httpRequest.setEntity(nameValuePari,HTTP.UTF_8);publicvoidaddNameValuePair(Stringkey,Stringvalue){ nameValuePair.add(newBasicNameValuePair(key,value));}返回JSONObject對(duì)象數(shù)據(jù)模型publicJSONObjectgetJSON()throwsException

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論