Siklus proses aktivitas di android melalui aplikasi dessert clicker

 

PPB I - Tugas 10


Siklus Proses Aktivitas di Android Melalui Aplikasi Dessert Clicker


    Nama :Michael Ariel Manihuruk
    NRP : 5025201158
    Kelas : PPB-I
    Link Github : Tugas 10

    Dalam tugas ini, aplikasi awal Dessert Clicker digunakan untuk mempelajari siklus proses aktivitas dari pembuatan hingga penghancuran. Dessert Clicker adalah aplikasi yang memungkinkan pengguna membeli makanan penutup dengan mengklik layar. Penyelesaian tugas ini mengacu pada Google Codelab - Tahapan Siklus Proses Aktivitas.

    Pertama-tama buka link https://github.com/google-developer-training/basic-android-kotlin-compose-training-dessert-clicker/tree/starter yang merupakan kode awal aplikasi, kemudian download ZIP dari branch starter. Ekstrak file .zip yang telah terdownload, pindahkan isi folder hasil ekstrak ke lokasi yang diinginkan, lalu buka Android Studio. Selanjutnya run aplikasi, maka akan terlihat tampilan awal aplikasi Dessert Clicker seperti gambar di atas. Aplikasi Dessert Clicker memiliki beberapa bug yang perlu diperbaiki.




    Berikutnya, buka file MainActivity.kt dari proyek. Anda dapat menambahkan logging pada metode-metode dalam siklus hidup aktivitas seperti onCreate(), onStart(), onResume(), onRestart(), onPause(), onStop(), dan onDestroy(). Mulailah dengan menambahkan logging untuk onCreate() dengan membuat konstanta bernama TAG yang bernilai MainActivity, sehingga pesan log lebih mudah ditemukan. Lalu, impor android.util.Log dan tambahkan logging di bawah super.onCreate(savedInstanceState). Jalankan ulang aplikasi agar log dapat diperiksa di logcat menggunakan tag: MainActivity.


    Kemudian terapkan metode onStart() dan beberapa metode lainnya. Kita bisa memeriksa metode yang dapat diubah di Code -> Override Methods. Di sana, Anda akan melihat bahwa metode-metode dalam siklus hidup aktivitas dapat di-override. Oleh karena itu, tambahkan override untuk metode-metode tersebut dan tambahkan logging di bawah onCreate di MainActivity.kt.

    Saat aplikasi dijalankan ulang, terdapat tiga callback siklus yang akan muncul:
  • onCreate() saat sistem membuat aplikasi.
  • onStart() ketika aplikasi mulai terlihat di layar, tetapi pengguna belum bisa berinteraksi dengannya.
  • onResume() yang membawa aplikasi ke latar depan, memungkinkan pengguna untuk mulai berinteraksi.

    Saat tombol kembali pada perangkat ditekan, tiga callback siklus akan terlihat yaitu onPause(), onStop(), dan onDestroy(). Hal ini terjadi karena menekan tombol kembali menghapus aktivitas (dan aplikasi) dari layar dan memindahkannya ke bagian belakang tumpukan aktivitas.


    Jalankan ulang aplikasi, kemudian tekan tombol home pada perangkat. Kali ini, hanya onPause() dan onStop() yang akan terpanggil karena aplikasi tidak benar-benar tertutup dan berjalan di latar belakang. Ketika onPause() dipanggil, aplikasi kehilangan fokus. Setelah onStop(), aplikasi tidak lagi terlihat di layar. Kemudian klik tombol persegi di kanan bawah device untuk kembali ke aplikasi. 

    Terlihat bahwa sekarang onRestart(), onStart(), dan onResume() terpanggil. onRestart() berfungsi sebagai pengganti onCreate(). Dalam situasi ini, keadaan seperti jumlah variabel dalam program tetap sama seperti sebelum tombol home ditekan karena siklus masih berlangsung pada aplikasi yang sama.


    Kemudian klik tombol share di bagian kanan atas aplikasi Dessert Clicker. Kali ini, hanya onPause() yang terpanggil karena aktivitas masih sebagian terlihat tetapi tidak memiliki fokus pengguna (fokus pengguna beralih ke tampilan share). Sebaliknya, onResume() akan terpanggil ketika aplikasi kembali mendapatkan fokus.


  Beberapa perubahan konfigurasi, seperti rotasi layar, menyebabkan onDestroy() dipanggil, yang mengakibatkan aktivitas dihentikan dan dimulai ulang. Ini bisa menyebabkan hilangnya data di aplikasi. Misalnya, pada aplikasi Dessert Clicker, jumlah Desserts sold dan Total Revenue akan di-reset akibat rotasi layar tersebut.


    Kita juga dapat menggunakan rememberSaveable untuk menyimpan nilai di seluruh perubahan konfigurasi. Dapat dilihat dari contoh di bawah ini, meskipun onDestroy() terpanggil akibat rotasi layar, jumlah variabel pada aplikasi dapat dipulihkan.


    Demikian demonstrasi siklus proses aktivitas di android melalui aplikasi dessert clicker. Hope you understand and enjoy it!






Komentar

Postingan populer dari blog ini

Sejarah Mobile Phone dan Perkembangan Teknologinya

Membuat Program Android Sederhana

Membuat Program Android Sederhana dengan Composable "Text"