Java: การใช้ AsyncTask

AsyncTask คืออะไร?
AsyncTask นั้นเป็น abstract class ที่ทาง Android นั้นจัดเตรียมมาให้เราเพื่อทำการประมวลผล หรือทำงานเป็น background โดยไม่ต้องไปยุ่งกับตัว UI หลัก อย่างเช่น กรณีต้องการดึง content จากเว็บไซต์เว็บหนึ่ง เพื่อมาแสดงบนแอพพลิเคชันของเรา โดยไม่กระทบกับหน้าจอ UI ของเรา

เมื่อ AsyncTask ทำงานเสร็จ ค่อยส่งผลลัพธ์ออก UI ด้วยเมธอด onPostExecute()

activity_main.xml

MainActivity.java

บรรทัดที่ 21 : เรียกใช้ HttpTask แบบส่งพารามิเตอร์ไป 1 ตัว
บรรทัดที่ 22 : เรียกใช้ HttpTask แบบส่งพารามิเตอร์ไป 2 ตัว
บรรทัดที่ 28 : เขียน log แสดงค่าของพารามิเตอร์ตัวที่ 1
บรรทัดที่ 29 : เขียน log แสดงค่าของพารามิเตอร์ตัวที่ 2

Run

เมื่อรันแล้วกดปุ่ม ดูที่ Logcat จะเห็นแบบนี้

[code]
09-14 15:07:53.983 18634-18634/com.phaisarn.myapplication D/phaisarn: ———————————–
09-14 15:07:53.986 18634-18816/com.phaisarn.myapplication D/phaisarn: http://phaisarn.com
09-14 15:07:53.988 18634-18816/com.phaisarn.myapplication D/phaisarn: http://jack.phaisarn.com
[/code]

 

Link