Kamis, 12 Juni 2025

Tugas 10 - Pemrograman Perangkat Bergerak G - Membuat Cake Clicker App



Judul: Memahami Activity Lifecycle dan Logging pada Android dengan Jetpack Compose

Rakha Fathin Izzan Consetta (5025221156)

Pendahuluan

Dalam pengembangan aplikasi Android, memahami lifecycle dari sebuah Activity sangat penting untuk mengelola resource dan memastikan performa aplikasi tetap optimal. Pada tugas kali ini, kita membuat aplikasi sederhana bernama Dessert Clicker yang menggunakan konsep Activity Lifecycle dan logging untuk memantau perubahan status activity.


Tujuan

  • Mengenal tahapan-tahapan Activity Lifecycle.

  • Menambahkan dan mengamati log menggunakan Log.d.

  • Mengimplementasikan logika dalam metode seperti onCreate, onStart, onResume, onPause, onStop, onRestart, dan onDestroy.


Deskripsi Program

Aplikasi Dessert Clicker memungkinkan pengguna untuk "menjual" dessert dengan cara mengklik gambar dessert yang ditampilkan. Setiap klik menambah pendapatan (revenue) dan jumlah dessert yang terjual (dessertsSold). Yang menarik dari aplikasi ini adalah bagaimana kita bisa melihat lifecycle aplikasi melalui log saat aktivitas berubah.


Source Code Penting

1. Logging di Lifecycle Methods

private const val TAG = "MainActivity"

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    Log.d(TAG, "onCreate Called")
    ...
}

override fun onStart() {
    super.onStart()
    Log.d(TAG, "onStart Called")
}

override fun onResume() {
    super.onResume()
    Log.d(TAG, "onResume Called")
}

override fun onPause() {
    super.onPause()
    Log.d(TAG, "onPause Called")
}

override fun onStop() {
    super.onStop()
    Log.d(TAG, "onStop Called")
}

override fun onRestart() {
    super.onRestart()
    Log.d(TAG, "onRestart Called")
}

override fun onDestroy() {
    super.onDestroy()
    Log.d(TAG, "onDestroy Called")
}

Kode di atas akan menghasilkan output log seperti berikut di Logcat:


...

2. Tampilan dan Interaksi Dessert

Image(
    painter = painterResource(dessertImageId),
    contentDescription = null,
    modifier = Modifier
        .width(dimensionResource(R.dimen.image_size))
        .height(dimensionResource(R.dimen.image_size))
        .align(Alignment.Center)
        .clickable { onDessertClicked() },
    contentScale = ContentScale.Crop,
)

Ketika pengguna mengklik gambar dessert, maka:

  • Pendapatan (revenue) bertambah sesuai harga dessert.

  • Gambar dessert akan berubah jika threshold tertentu telah dilewati.


Tampilan Aplikasi

Aplikasi terdiri dari:

  • TopBar dengan tombol "Share".

  • Dessert Image yang dapat diklik.

  • Informasi Pendapatan dan Dessert Terjual di bagian bawah layar.


Hasil Pengamatan di Logcat

Berikut contoh urutan log yang dicetak ketika aplikasi dibuka, ditutup sementara, dan dibuka kembali:



Log ini membantu developer memahami siklus hidup Activity secara nyata.


Kesimpulan

Melalui tugas ini, kita dapat memahami bagaimana Activity Lifecycle bekerja pada aplikasi Android. Dengan menggunakan Log.d, kita dapat memantau secara langsung setiap perubahan status lifecycle, yang sangat berguna untuk debugging dan pengelolaan resource aplikasi. Penerapan konsep ini merupakan fondasi penting dalam pengembangan aplikasi Android yang stabil dan efisien.


Referensi

Tidak ada komentar:

Posting Komentar

EAS PPB - Aplikasi Edukasi dan Penjemputan Sampah dengan AI Deteksi Jenis Sampah

Laporan Proyek Akhir PPB: Membangun Aplik asi "Cemungut" dengan Flutter dan Firebase Halo semua! Selamat datang di laporan akhir p...