Modul 9 - AsyncTask
- Reza Prihandi
- Jun 12, 2021
- 2 min read
Apa itu AsyncTask ?
Sebelumnya, kita harus mengenal terlebih dahulu istilah thread. Thread adalah sekumpulan perintah (instruksi) yang dapat dilaksanakan (eksekusi) secara bersamaan dengan thread lainnya. Hal ini dicapai dengan menggunakan mekanisme Time Slice (ketika satu CPU/Central Processing Unit melakukan perpindahan antara satu thread ke thread lainnya) atau mekanisme multiprocess (ketika thread-thread tersebut dilaksanakan oleh CPU/Central Processing Unit yang berbeda dalam satu sistem.
Bila aplikasi Android dimulai, aplikasi membuat Thread UI atau Main Thread atau biasa disebut Thread Utama. Thread UI akan mengirimkan kejadian ke widget antarmuka pengguna (user interface) yang sesuai dan ini merupakan tempat aplikasi anda berinteraksi dengan komponen dari Toolkit UI Android (komponen dari paket android.widget dan android.view).
Thread pada Android mempunyai dua aturan yaitu :
1. Jangan memblokir Thread UI
2. Lakukan pekerjaan UI hanya pada ThreadUI
AsyncTask
Gunakan kelas AsyncTask untuk mengimplementasikan tugas asinkron yang berjalan lama di Worker Thread/Thread Pekerja. Worker Thread adalah Thread yang bukan Thread UI/Main Thread. AsyncTask memungkinkan anda menjalankan operasi latar belakang dan mempublikasikan hasil di Thread UI tanpa memanipulasi thread.
Bila AsyncTask dieksekusi, maka akan melalui empat langkah :
onPreExecute(), dipanggil di Thread UI sebelum tugas di eksekusi.
doInBackground(Params…), dipanggil pada Background Thread setelah onPreExecute() selesai dijalankan.
onProgressUpdate(Progress…), berjalan di Thread UI setelah publishProgress(Progress…) dipanggil.
onPostExecute(Result), berjalan di Thread UI setelah komputasi latar belakang selesai.
CONTOH PROGRAM
Pertama jalankan aplikasi IDE Android Studio, caranya :
a. Pilih Start → Android Studio
b. Pilih → Start a new Android Studio Project
c. Pilih → Empty Activity → Next
Maka akan Tampil IDE Android Studio, setelah itu Buka dan ubah script activity_main.xml menjadi seperti gambar di bawah ini


Setelah itu Buka dan ubah script MainActivity.java menjadi seperti gambar di bawah ini




Buat sebuah file xml baru dengan Nama network_security_config.xml di dalam folder /res/xml dan ketikan kode program berikut seperti gambar di bawah ini

Sesuaikan script AndroidManifest.xml seperti di bawah ini untuk mendaftarkan komponen Intent Filter dan mendaftarkan permission akses internet & write external storage yang kita butuhkan

Lalu coba jalankan menggunakan emulator yang tersedia di Android Studio Anda, maka akan tampil seperti gabar dibawah ini



Comments