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

Android提交數據到服務器的幾種方式

2015-04-29 00:00:00任星瑜
科技創新與應用 2015年24期

摘 要:在Android應用程序開發中,經常要提交數據到服務器,并從服務器獲取數據。文章主要介紹基于http協議提交數據到服務器,采用HttpClient提交數據到服務器,以及采用異步AsyncHttpClient框架提交數據到服務器。

關鍵詞:Http;HttpClient;AsyncHttpClient

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

采用Get方式提交數據到服務器示例代碼如下:

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

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

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

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

采用POST方式提交數據到服務器示例代碼如下:

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

URL url=new URL(path);

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

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

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

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

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

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

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

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

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

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

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);//提交數據,類似于敲擊回車。

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

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();//封裝要提交的數據

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

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

HttpResponse response=client.execute(post);

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

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

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方式提交數據到服務器實例代碼如下:

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) {

//請求失敗的處理代碼

};

}

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

參考文獻

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

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

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

作者簡介:任星瑜,男,四川達州人,目前就讀于西北民族大學,本科學歷,主要研究大數據,物聯網,數據挖掘。

主站蜘蛛池模板: 熟妇丰满人妻av无码区| 亚洲成人黄色在线| 久久午夜夜伦鲁鲁片不卡| 欧美精品成人| 亚洲欧美在线看片AI| 国产不卡一级毛片视频| 免费国产在线精品一区| 国产精品主播| 91福利国产成人精品导航| 色欲色欲久久综合网| 日韩在线2020专区| 久草热视频在线| 性视频久久| 伊人久久青草青青综合| 精品视频一区在线观看| 免费福利视频网站| 亚洲欧美日韩久久精品| 2021国产v亚洲v天堂无码| 亚洲日韩AV无码精品| 国产欧美性爱网| 国产精品私拍在线爆乳| 蜜臀AVWWW国产天堂| 日韩精品成人网页视频在线 | 亚洲AV无码一区二区三区牲色| 中文字幕欧美日韩高清| 九九久久精品免费观看| 国产内射在线观看| 日韩精品毛片人妻AV不卡| 99这里只有精品6| 色哟哟国产精品| 中文字幕伦视频| 2019年国产精品自拍不卡| 亚洲综合色区在线播放2019 | 久久福利片| 国产精品网址在线观看你懂的| 亚洲人成亚洲精品| 亚洲欧洲AV一区二区三区| 精品久久久久无码| 国产视频一区二区在线观看| 国产激情国语对白普通话| 99re在线视频观看| 国产乱子伦无码精品小说| 国产无码在线调教| 婷婷色一二三区波多野衣| 免费观看国产小粉嫩喷水| 国产黄在线免费观看| 日本三级精品| 国内精品自在自线视频香蕉| 亚洲高清资源| 国产丝袜无码一区二区视频| 青青操国产| AV网站中文| 亚洲乱码精品久久久久..| 一级毛片高清| 人妻丝袜无码视频| 亚洲区第一页| 九色免费视频| 国产激爽大片在线播放| 国产麻豆aⅴ精品无码| 成人在线亚洲| 67194亚洲无码| 亚洲精品图区| www.91中文字幕| 天堂网亚洲综合在线| 亚洲国产精品不卡在线| 一区二区自拍| 无码中文字幕精品推荐| 福利在线一区| 国产精品久久国产精麻豆99网站| 国产成人高清精品免费| 国产精品视频猛进猛出| 亚洲男人在线天堂| 在线五月婷婷| 尤物在线观看乱码| 99热这里只有精品久久免费| 久久久噜噜噜| 欧美一级黄片一区2区| 手机在线看片不卡中文字幕| 亚洲一区毛片| 99精品免费在线| 亚洲色成人www在线观看| 国产三级视频网站|