Selasa, 04 Juni 2024

ACTIVITY AND INTENT (DESSERT CLICKER)

Nama : Naily Khairiya

NRP : 5025201244

Kelas : PPB - I


Dessert Clicker adalah aplikasi awal yang akan dibuat untuk untuk mempelajari siklus proses Android. Aplikasi ini memiliki bug yang terkait dengan siklus proses, yang perlu diidentifikasi dan diperbaiki. Untuk membuat aplikasi ini perlu mendownload kode awal pada Codebase dengan nama cabang: starter.


Mempelajari metode siklus proses dan menambahkan logging dasar

Siklus proses aktivitas Android mirip dengan siklus hidup kupu-kupu. Aktivitas memiliki berbagai status, mulai dari inisialisasi (telur) hingga dihancurkan (mati). Status ini berubah saat pengguna berinteraksi dengan aplikasi. Kita dapat menggunakan metode callback siklus proses untuk menjalankan kode saat status aktivitas berubah. Callback ini membantu Anda mengontrol perilaku aplikasi dan memastikannya berjalan dengan lancar. 

Android dapat memiliki beberapa aktivitas, tetapi biasanya hanya satu yang digunakan dalam satu waktu. Diagram siklus proses aktivitas menunjukkan status dan callback yang tersedia. Penting untuk memahami kapan callback dipanggil dan apa yang harus dilakukan di setiap callback.


Langkah 1: Periksa metode onCreate() dan tambahkan logging

Tambahkan konstanta berikut di tingkat teratas MainActivity.kt, di atas deklarasi class class MainActivity.
Dalam metode onCreate(), tepat setelah panggilan ke super.onCreate(), tambahkan baris Log.d()

Ada tiga aspek penting dari instruksi Log:

  1. Prioritas pesan log, yaitu seberapa penting pesan. Dalam hal ini, Log.v() mencatat pesan panjang ke dalam log. Metode Log.d() menulis pesan debug. Metode lain di class Log mencakup Log.i() untuk pesan informasi, Log.w() untuk peringatan, dan Log.e() untuk pesan error.
  2. Log tag (parameter pertama), dalam hal ini adalah "MainActivity". Tag adalah string yang memungkinkan Anda menemukan pesan log dengan lebih mudah di Logcat. Tag biasanya berupa nama class.
  3. Log pesan yang sebenarnya, yang disebut msg (parameter kedua), adalah string pendek, yang dalam kasus ini adalah "onCreate Called".
Kompilasi dan jalankan aplikasi Dessert Clicker. Anda tidak akan melihat perbedaan perilaku di aplikasi saat mengetuk makanan penutup. Di bagian bawah layar Android Studio, klik tab Logcat dan akan muncul seperti ini apabila ditambah pencarian tag:MainActivity





Langkah 2: Terapkan metode onStart()


Metode siklus proses onStart() dipanggil tepat setelah onCreate(). Setelah onStart() berjalan, aktivitas kita akan terlihat di layar. Tidak seperti onCreate(), yang hanya dipanggil sekali untuk menginisialisasi aktivitas kita, onStart() dapat dipanggil oleh sistem beberapa kali dalam siklus proses aktivitas kita.

1. Di Android Studio, dengan MainActivity.kt terbuka dan kursor ada di dalam class MainActivity, pilih Code > Override Methods... atau tekan Control+O. Dialog akan muncul dan menampilkan daftar panjang berisi semua metode yang dapat Anda ganti di class ini.
2. Mulai masukkan onStart untuk menelusuri metode yang benar. Untuk men-scroll ke item yang cocok berikutnya, gunakan panah bawah. Pilih onStart() dari daftar, lalu klik OK untuk menyisipkan kode pengganti boilerplate. Dan sisipkan Log.d(TAG, "onStart Called")
3. Kompilasi dan jalankan aplikasi Dessert Clicker, dan buka panel Logcat.



Langkah 3: Menambahkan laporan log lainnya

Tambahkan laporan log lain seperti pada gambar dan jalankan.


Meskipun namanya onResume(), metode ini juga dipanggil saat startup, meskipun tidak ada yang dapat dilanjutkan.


4. Mempelajari kasus penggunaan siklus proses

Kasus penggunaan 1: Membuka dan menutup aktivitas

jalankan aplikasi dan coba klik kembali




Perhatikan dalam Logcat bahwa onPause() dan onStop() dipanggil dalam urutan tersebut. Dalam hal ini, menggunakan tombol Kembali akan menyebabkan aktivitas (dan aplikasi) dihapus dari layar dan dipindahkan ke bagian belakang tumpukan aktivitas.

Kasus penggunaan 2: Bernavigasi dari dan kembali ke aktivitas
Saat aplikasi Dessert Clicker sedang berjalan, klik cupcake beberapa kali. Tekan tombol Layar Utama di perangkat dan amati Logcat di Android Studio. Saat Anda kembali ke layar utama, aplikasi tersebut tidak akan dimatikan, tetapi akan tetap berjalan di latar belakang. Perhatikan bahwa metode onPause() dan onStop() dipanggil.
Gunakan layar Terbaru untuk kembali ke aplikasi. Pada emulator, layar Terbaru dapat diakses oleh tombol sistem persegi yang ditampilkan pada gambar di bawah. Perhatikan dalam Logcat bahwa aktivitas dimulai ulang dengan onRestart() dan onStart(), lalu dilanjutkan dengan onResume().


Kasus penggunaan 3: Menyembunyikan sebagian aktivitas
Dengan aplikasi Dessert Clicker masih berjalan, klik tombol Bagikan di kanan atas layar. Periksa Logcat dan perhatikan bahwa hanya onPause() yang dipanggil.

Klik di luar dialog berbagi untuk kembali ke aplikasi, dan perhatikan bahwa onResume() dipanggil.


5. Mempelajari perubahan konfigurasi


Perubahan konfigurasi terjadi saat status perangkat berubah drastis, seperti perubahan bahasa, orientasi, atau penambahan keyboard. Sistem akan menonaktifkan dan membangun ulang aktivitas untuk menyelesaikan perubahan konfigurasi. Callback siklus proses terakhir yang ditunjukkan adalah onDestroy(), yang dipanggil setelah onStop().

Perubahan konfigurasi menyebabkan onDestroy() dipanggil
Rotasi layar adalah salah satu jenis perubahan konfigurasi yang menyebabkan aktivitas dihentikan dan dimulai ulang.


Kehilangan data di rotasi perangkat
Setelah rotasi maka data akan hilang. Dan akan kembali ke 0.

Siklus proses composable
Agar Compose dapat melacak dan memicu rekomposisi, perlu mengetahui kapan status telah berubah. Untuk menunjukkan kepada Compose bahwa objek harus melacak status objek, objek harus berjenis State atau MutableState. Jenis State tidak dapat diubah dan hanya dapat dibaca. Jenis MutableState dapat diubah dan memungkinkan baca dan tulis.

Menyimpan nilai variable menggunakan rememberSaveable akan memastikan bahwa nilai tersedia saat aktivitas dipulihkan, jika diperlukan.


Nilai variabel tidak tereset atau hilang.


KESIMPULAN
Siklus Proses Aktivitas:
  • Aktivitas melewati berbagai status selama transisi.
  • Status dikontrol oleh metode callback (onCreate, onStart, onResume, onPause, onStop, onDestroy).
  • Gunakan metode override untuk menambahkan perilaku pada transisi status.
  • Gunakan Log untuk mencatat pesan di Logcat.
Perubahan Konfigurasi:
  • Terjadi saat status perangkat berubah drastis (misalnya, rotasi layar, perubahan bahasa).
  • Android menghancurkan dan membangun ulang aktivitas untuk menyelesaikan perubahan.
  • Callback penonaktifan aktivitas dipanggil.
  • Aktivitas dimulai ulang dari awal dengan callback startup.
  • Gunakan rememberSaveable untuk menyimpan nilai yang persisten.

Kode untuk melakukan percobaan :












Tidak ada komentar:

Posting Komentar

EAS PPB

Nama : Naily Khairiya NRP : 5025201244 Kelas : PPB - I JAWABAN EAS PPB Buat spesifikasi dan deskripsi aplikasi yang mampu dibuat berdasarkan...