999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android提交數(shù)據(jù)到服務(wù)器的幾種方式

2015-04-29 00:00:00任星瑜
科技創(chuàng)新與應(yīng)用 2015年24期

摘 要:在Android應(yīng)用程序開發(fā)中,經(jīng)常要提交數(shù)據(jù)到服務(wù)器,并從服務(wù)器獲取數(shù)據(jù)。文章主要介紹基于http協(xié)議提交數(shù)據(jù)到服務(wù)器,采用HttpClient提交數(shù)據(jù)到服務(wù)器,以及采用異步AsyncHttpClient框架提交數(shù)據(jù)到服務(wù)器。

關(guān)鍵詞:Http;HttpClient;AsyncHttpClient

在以http協(xié)議提交數(shù)據(jù)到服務(wù)器時,最常用的就是GET和POST方式。GET方式會把用戶提交的數(shù)據(jù)添加到URL字符串的后面,這種方式提交數(shù)據(jù),不安全,且不能提交大量的數(shù)據(jù)。采用POST方式提交數(shù)據(jù)時,則是把用戶提交的數(shù)據(jù)放在Http請求的數(shù)據(jù)體中,這種方式相對安全且能提交大量的數(shù)據(jù)。

采用Get方式提交數(shù)據(jù)到服務(wù)器示例代碼如下:

String path=\"192.168.0.100/web/LoginServer?name+\"+name;//定義提交的路徑,并向服務(wù)器提交一個名稱為name的字段。服務(wù)器應(yīng)有接受該字段的處理程序。注意的是path路徑不能寫成localhost或127.0.0.1,因為android系統(tǒng)本身也是一個操作系統(tǒng),如果這樣寫,會指向模擬器本身

URL url=new URL(path);//把path封裝成URL對象

HttpURLConnection conn=(HttpURLConnection) url.openConnection();//建立連接

conn.setRequestMethod(\"GET\");//設(shè)置請求方式為GET

采用POST方式提交數(shù)據(jù)到服務(wù)器示例代碼如下:

String path=\"http://10.6.161.24:8080/web/LoginServlet\";//定義提交路徑

URL url=new URL(path);

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setRequestMethod(\"POST\");//設(shè)置請求方式為POST

String date=\"name=\"+URLEncoder.encode(name);//準備數(shù)據(jù)

conn.setRequestProperty(\"Content-Type\", \"application/x-www-form-urlencoded\");//設(shè)置請求數(shù)據(jù)類型

conn.setRequestProperty(\"Content-Length\", date.length()+\"\");//設(shè)置請求數(shù)據(jù)的長度

conn.setDoOutput(true);//允許向服務(wù)器寫數(shù)據(jù)

OutputStream os=conn.getOutputStream();//獲得輸出流

os.write(date.getBytes());//寫數(shù)據(jù)

HttpClient是向服務(wù)器交互的一個開源框架,google工程師也覺得該框架非常好用,所以把該框架直接集成到了android的SDK中,可以直接拿來用。用該框架向服務(wù)器提交數(shù)據(jù)的方式類似于我們用瀏覽器上網(wǎng),第一步先打開瀏覽器,第二步輸入地址,第三步敲擊回車。

采用HttpClient框架利用Get方式提交數(shù)據(jù)到服務(wù)器實例代碼如下:

HttpClient client=new DefaultHttpClient();//獲取HttpClient對象,類似與打開瀏覽器

String path=\"192.168.0.100/web/LoginServer?name+\"+name;

HttpGet httpGet=new HttpGet(path);//獲取HttpGet對象,采用get方式提交,類似于輸入地址

HttpResponse response=client.execute(httpGet);//提交數(shù)據(jù),類似于敲擊回車。

采用HttpClient框架利用Post方式提交數(shù)據(jù)到服務(wù)器實例代碼如下:

HttpClient client=new DefaultHttpClient();

String path=\"http://10.6.161.24:8080/web/LoginServlet\";

HttpPost post=new HttpPost(path);//獲取HttpPost對象,采用Post方式提交

List parameters=new ArrayList();//封裝要提交的數(shù)據(jù)

parameters.add(new BasicNameValuePair(\"name\", name));

post.setEntity(new UrlEncodedFormEntity(parameters,));//設(shè)置要提交的數(shù)據(jù)

HttpResponse response=client.execute(post);

AsyncHttpClient是向服務(wù)器提交數(shù)據(jù)的另外一個框架,該框架是基于回掉機制的。采用異步提交的方式提交數(shù)據(jù)。在采用http協(xié)議或HttpClient框架提交數(shù)據(jù)的時候,由于連接服務(wù)器可能是非常耗時的操作,所以需要把連接服務(wù)器的代碼放在子線程中。而采用AsyncHttpClient方式時不用擔心這個問題。

采用AsyncHttpClient框架利用Get方式提交數(shù)據(jù)到服務(wù)器實例代碼如下:

AsyncHttpClient client=new AsyncHttpClient();//建立AsyncHtt

pClient的對象

String path=\"http://10.6.161.24:8080/web/LoginServlet?name=\"+name;//定義提交路徑

client.get(path, new AsyncHttpResponseHandler() {

public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {

//請求成功的處理代碼

};

public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {

//請求失敗的處理代碼

};

}

采用AsyncHttpClient框架利用Post方式提交數(shù)據(jù)到服務(wù)器實例代碼如下:

AsyncHttpClient client=new AsyncHttpClient();//建立AsyncHtt

pClient的對象

String path=\"http://10.6.161.24:8080/web/LoginServlet\";//定義提交路徑

RequestParams params=new RequestParams();

params.put(\"name\", name);

client.get(path, new AsyncHttpResponseHandler() {

public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {

//請求成功的處理代碼

};

public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {

//請求失敗的處理代碼

};

}

從以上三種提交數(shù)據(jù)到服務(wù)器的方式不難看出,編程方式變得越來越簡單。其實HttpClient是對采用Http協(xié)議的封裝,而AsyncHttpClient又是對HttpClient的封裝。

參考文獻

[1]明日科技.Android從入門到精通[M].清華大學出版社,2012(9).

[2]張余.Android網(wǎng)絡(luò)開發(fā)從入門到精通[M].清華大學出版社,2014(1).

[3]李剛.瘋狂Android講義(第二版)[M].電子工業(yè)出版社,2013(3).

作者簡介:任星瑜,男,四川達州人,目前就讀于西北民族大學,本科學歷,主要研究大數(shù)據(jù),物聯(lián)網(wǎng),數(shù)據(jù)挖掘。

主站蜘蛛池模板: 精品成人一区二区三区电影| 在线看片国产| 久久青草视频| 香蕉99国内自产自拍视频| 久久青草免费91线频观看不卡| 国产粉嫩粉嫩的18在线播放91| 精品国产网站| 免费网站成人亚洲| 青青青亚洲精品国产| 国产日本一线在线观看免费| 日韩不卡免费视频| 国产乱子伦视频三区| 日韩在线永久免费播放| 蜜桃臀无码内射一区二区三区| 99这里只有精品6| 亚洲国产成人自拍| 国产在线观看91精品| 中文字幕 欧美日韩| 久久福利片| 欧美国产综合视频| 欧美成人午夜视频免看| 免费高清毛片| 久久婷婷六月| 97成人在线视频| 日日噜噜夜夜狠狠视频| 91精品综合| 国产福利微拍精品一区二区| 色天堂无毒不卡| 中文无码精品A∨在线观看不卡| 国产在线视频福利资源站| 亚洲男人天堂网址| av大片在线无码免费| 中文字幕无码av专区久久| 精品福利视频导航| 日本一区二区三区精品视频| 欧美 亚洲 日韩 国产| 欧美精品亚洲日韩a| 成人在线观看不卡| 亚州AV秘 一区二区三区| 国产成人精品亚洲77美色| 九色国产在线| 精品国产Ⅴ无码大片在线观看81| 国产91av在线| 欧美日韩专区| 久久77777| 久爱午夜精品免费视频| 国产成人精品免费视频大全五级| 国产老女人精品免费视频| 免费网站成人亚洲| 国产爽妇精品| 黄色a一级视频| 免费无码AV片在线观看中文| 人人看人人鲁狠狠高清| 国产免费怡红院视频| 亚洲黄色成人| 欧美视频在线播放观看免费福利资源| 8090午夜无码专区| 免费无码在线观看| 欧美日韩国产综合视频在线观看 | 日韩精品中文字幕一区三区| 久久久久夜色精品波多野结衣| 国产成a人片在线播放| 国产欧美在线| 国产第一色| 成人无码一区二区三区视频在线观看| 91免费国产高清观看| 国产国语一级毛片在线视频| 夜夜拍夜夜爽| 日韩123欧美字幕| 一级毛片网| 亚洲性日韩精品一区二区| 超清无码熟妇人妻AV在线绿巨人| 国产门事件在线| 在线观看亚洲人成网站| 国产一级在线观看www色| 谁有在线观看日韩亚洲最新视频 | 欧美日韩在线第一页| 国产成人综合日韩精品无码不卡| 欧美黑人欧美精品刺激| 国产精品手机在线观看你懂的 | 国产一区二区三区免费观看| 三上悠亚精品二区在线观看|