เนื่องจาก Google ได้มีการบังคับ ThreadPolicy ที่เกี่ยวกับการติดต่ออินเตอร์เน็ตไม่ให้สามารถทำงานตรงๆบน UI Thread ได้ต้องใช้ AsyncTask และ doInBackground เข้ามาใช้งานด้วย ตัวอย่าง
private class requestHttpTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String response = "";
for (String url : urls) {
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
try {
HttpResponse execute = client.execute(httpGet);
if(execute.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
{
//http ok///
}
} catch (Exception e) {
//e.printStackTrace();
}
}
return response;
}
@Override
protected void onPostExecute(String result) {
//textView.setText(result);
}
}
วิธีเรียกใช้งาน
requestHttpTask task = new requestHttpTask();
task.execute(new String[] { "http://www.tonnark.com" });
อ้างอิงจาก
http://www.elvenware.com/charlie/development/android/SimpleHttpGetThread.html
No comments:
Post a Comment