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

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

主站蜘蛛池模板: 久久精品亚洲热综合一区二区| 青青青草国产| 国产sm重味一区二区三区| 国产一级毛片网站| 亚洲一区国色天香| 精品伊人久久久大香线蕉欧美| 2020久久国产综合精品swag| 亚洲成人手机在线| 国产精品妖精视频| 欧美激情伊人| 国产一级在线播放| 72种姿势欧美久久久久大黄蕉| 国产精品999在线| 91精品综合| 久久人人爽人人爽人人片aV东京热| 亚洲αv毛片| 国产成a人片在线播放| 黄色网站不卡无码| 国产成人1024精品下载| 人妻无码一区二区视频| 99国产在线视频| 99精品高清在线播放| 精品国产Av电影无码久久久| 尤物精品视频一区二区三区| 成人国产精品2021| 国产日韩丝袜一二三区| 成年人国产视频| 国产毛片基地| 成年午夜精品久久精品| 国产精品丝袜在线| 中国美女**毛片录像在线| 国产一区二区三区精品欧美日韩| 国产精品精品视频| 国产无码精品在线| 99在线观看视频免费| 韩国v欧美v亚洲v日本v| 亚洲综合色婷婷中文字幕| 91色国产在线| 精品国产美女福到在线不卡f| 中文字幕欧美成人免费| 久久国产香蕉| 午夜爽爽视频| 国产精品香蕉| 一区二区三区四区精品视频| 国产区精品高清在线观看| 国产在线视频欧美亚综合| 欧美日本在线| 天天摸夜夜操| 亚洲人在线| 国产美女丝袜高潮| 亚洲成A人V欧美综合| 国产真实二区一区在线亚洲| 精品在线免费播放| 免费在线国产一区二区三区精品| 亚洲美女久久| 综合色天天| www.精品国产| 一区二区无码在线视频| 97国产一区二区精品久久呦| 日韩欧美综合在线制服| av一区二区无码在线| 欧美第九页| 国内精品自在自线视频香蕉| 国产成人一区| 国产国拍精品视频免费看| 搞黄网站免费观看| 99精品高清在线播放| 欧美、日韩、国产综合一区| 国产无遮挡裸体免费视频| 久久人搡人人玩人妻精品| 国产高清自拍视频| 亚洲天堂区| 中文字幕在线观| 91午夜福利在线观看| 99热这里都是国产精品| 伊人久久综在合线亚洲2019| 老司机午夜精品视频你懂的| 亚洲中文字幕在线精品一区| 亚洲天堂网在线播放| 国产视频久久久久| 国产视频入口| 国产女人喷水视频|