在Android中使用Get及Post的幾個提示
- 使用org.apache.http套件
- Androidmanifest.xml 要加入存取網路的授權
- 清楚知道要使用Get還是Post
- 如果抓網路資料時間太久,建議把它放到背景執行並加上Loading提示
Get的使用步驟
首頁你要建立一個HttpClient 物件:
HttpClient client = new DefaultHttpClient();
接著建立HttpGet物件並傳入網址:
HttpGet get = new HttpGet(_url);
當HttpClient執行Get任務後,會傳回HttpResponse :
HttpResponse response = client.execute(get);
接下來就可以取得資料實體:
HttpEntity resEntity = response.getEntity();
你可以把它轉成字串來使用:
result = EntityUtils.toString(resEntity);
Post的使用步驟
一樣先建立HttpClient物件:
HttpClient client = new DefaultHttpClient();
接著建立HttpPost物件並傳入網址 :
HttpPost post = new HttpPost(_url);
如果有參數的話,可以這樣加入:
List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair(_queryKey, _queryValue)); UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params, HTTP.UTF_8); post.setEntity(ent);
執行後一樣會傳回HttpResponse:
HttpResponse responsePOST = client.execute(post);
取得資料實體後可以轉成字串來用:
HttpEntity resEntity = responsePOST.getEntity(); result = EntityUtils.toString(resEntity);
在Androidmanifest.xml加入網路存取權限
<uses-permission android:name="android.permission.INTERNET"/>
沒有留言:
張貼留言