TUGAS 8 - ViewModel and State in Compose
Nama: Rule Lulu Damara
NRP: 5025211050
Kelas: PPB B
ViewModel and State in Compose
1. Deskripsi
Jawab:
2. Implementations
Langkah-langkah ini membentuk dasar implementasi aplikasi "Unscramble" dengan menggunakan Kotlin dan Compose untuk Android, memastikan pengalaman permainan yang lancar dan responsif bagi pengguna.
WordsData.kt:
Menyimpan daftar kata-kata untuk permainan.
Menentukan jumlah maksimum kata per sesi dan poin untuk setiap kata benar.
MainActivity.kt:
Mengatur tampilan utama aplikasi, termasuk GameScreen.
GameScreen.kt:
Mendefinisikan elemen UI composable seperti GameStatus, GameLayout, dan GameScreen.
Menyusun elemen-elemen ini untuk menciptakan antarmuka pengguna permainan.
Implementasi GameStatus
Menampilkan skor permainan menggunakan Card.
Skor awalnya statis (0), akan diperbarui berdasarkan kinerja pemain.
Implementasi GameLayout:
Menampilkan kata acak yang diacak, petunjuk, dan kolom teks untuk tebakan.
Menggunakan Card untuk elemen-elemen ini.
Implementasi GameScreen:
Menggabungkan GameStatus, GameLayout, judul permainan, jumlah kata ditebak, tombol Submit, dan Skip.
Implementasi FinalScoreDialog:
Menampilkan dialog akhir permainan dengan opsi untuk bermain lagi atau keluar.
Menambahkan ViewModel ke Aplikasi:
Memastikan data aplikasi tetap ada meskipun aktivitas dihancurkan dan dibuat ulang oleh Android.
Mengimplementasikan StatusUI:
Menghubungkan elemen UI dengan status aplikasi untuk memastikan tampilan yang konsisten.
Menambahkan Dependensi ViewModel:
Menambahkan dependensi yang diperlukan untuk menggunakan ViewModel dalam aplikasi Compose.
Membuat GameViewModel:
Menyimpan dan mengelola data permainan seperti kata acak dan skor pemain.
Menambahkan StateFlow:
Memanfaatkan StateFlow untuk mengelola perubahan status aplikasi secara efisien.
Memilih Kata Acak:
Mengimplementasikan logika untuk memilih kata acak untuk permainan.
Merancang UI dengan Compose:Menggunakan Compose untuk merancang UI yang responsif dan up-to-date.
Memverifikasi Kata Tebakan dan Memperbarui Skor:
Memastikan tebakan pengguna diperiksa dengan benar dan skor diperbarui sesuai hasilnya.
Memperbarui Skor dan Jumlah Kata:
Memberikan umpan balik tentang performa pemain dengan memperbarui skor dan jumlah kata yang ditebak.
Menangani Akhir Permainan dan Menampilkan Dialog:
Menambahkan logika untuk menyelesaikan permainan dan menampilkan dialog akhir permainan kepada pengguna.
Menyimpan Status Saat Rotasi Perangkat:
Memastikan data permainan disimpan dalam ViewModel untuk menjaga kontinuitas pengalaman pengguna saat rotasi perangkat.
3. Berikut hasil implementasinya
4. Github Link:
Komentar
Posting Komentar