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

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

主站蜘蛛池模板: 一级全免费视频播放| 国产精品自拍合集| 欧美视频在线观看第一页| 国产精品第页| 日韩无码视频专区| 女人18毛片一级毛片在线| 无码又爽又刺激的高潮视频| 台湾AV国片精品女同性| 五月激激激综合网色播免费| 一本大道香蕉中文日本不卡高清二区| 亚洲欧美人成电影在线观看| 亚洲成人77777| 伊人网址在线| 欧美成人午夜视频| 国产成本人片免费a∨短片| 国产鲁鲁视频在线观看| 40岁成熟女人牲交片免费| 日本成人不卡视频| 亚洲综合欧美在线一区在线播放| 亚洲品质国产精品无码| 在线精品亚洲一区二区古装| 国产欧美视频综合二区| 亚洲精品中文字幕无乱码| 热99re99首页精品亚洲五月天| 久久精品人人做人人| 国产国语一级毛片| 成人在线欧美| 91午夜福利在线观看精品| 18禁黄无遮挡免费动漫网站| 在线毛片网站| 日韩无码一二三区| 亚洲国产高清精品线久久| 99久久精品久久久久久婷婷| 国产人人乐人人爱| 色视频国产| 色135综合网| 国产屁屁影院| 免费高清毛片| 婷婷综合亚洲| 中文字幕一区二区视频| 高清视频一区| 青青草原国产免费av观看| 国产成人综合在线视频| 成年av福利永久免费观看| 91精品专区| www.91在线播放| 99re热精品视频国产免费| 又猛又黄又爽无遮挡的视频网站| 亚洲成人动漫在线观看| 免费观看亚洲人成网站| 亚洲国产天堂久久综合| 一级毛片高清| 亚洲无码高清视频在线观看| 99热这里只有精品国产99| 亚洲无卡视频| 国产小视频a在线观看| 亚洲黄色片免费看| 久久香蕉国产线| 国产精品亚欧美一区二区| 亚洲综合专区| 久久精品国产国语对白| 久久精品91麻豆| 免费jjzz在在线播放国产| 欧美精品啪啪一区二区三区| 东京热一区二区三区无码视频| 福利小视频在线播放| 色偷偷一区二区三区| 91精品国产一区| 99人体免费视频| 国产第一页免费浮力影院| 无码人妻热线精品视频| 国产日韩精品欧美一区喷| 91探花国产综合在线精品| 成人亚洲天堂| 亚洲精品天堂自在久久77| 动漫精品啪啪一区二区三区| 国产在线视频福利资源站| 国产原创演绎剧情有字幕的| www中文字幕在线观看| 天天色综网| 毛片基地视频| 在线观看国产网址你懂的|