Jika Anda terbiasa dengan tampilan Android klasik, Anda mungkin sudah terbiasa kesulitan dengan hal ini.
Pada dasarnya, setiap data yang dapat berubah seiring waktu, mulai dari string teks sederhana dalam formulir hingga basis data kompleks di Room, dianggap sebagai status. Untuk mencegah aplikasi kita macet dan memastikan aplikasi bereaksi terhadap tindakan pengguna, kita perlu Compose untuk mengetahui dengan tepat status tersebut.
Inti dari negara: mutableStateOf dan Recomposition
Untuk memberi tahu elemen antarmuka bahwa sesuatu telah berubah, menggunakan variabel Kotlin biasa saja tidak cukup. Kita membutuhkan sebuah
Ketika nilai objek ini berubah, Compose menandai fungsi tersebut sebagai "tidak valid" dan mengeksekusinya lagi. Inilah yang kita sebut
Ada beberapa cara untuk menulis deklarasi ini agar kode lebih bersih. Kita dapat menggunakan sintaks delegasi dengan kata kunci `<code]by`, yang menghemat waktu kita karena tidak perlu menulis `<code].value` setiap kali kita ingin mengakses data, meskipun ini memerlukan impor `<code]getValue` dan `<code]setValue` dari paket runtime Compose saat menggunakan Kotlin untuk memprogram Android.
Membuat memori bekerja dengan mengingat.
Masalah umum saat memulai adalah bahwa rekomposisi pada dasarnya hanya mengeksekusi ulang fungsi. Jika kita mendeklarasikan status secara langsung di dalam Composable,
Fungsi
Untuk mengatasi masalah rotasi, kita memiliki `rememberSaveable`. Alat ini menyimpan status dalam `Bundle`, memungkinkan informasi tetap ada meskipun aktivitas dihancurkan dan dibuat ulang, sehingga mengelola siklus hidup aktivitas di Android dengan benar . Jika kita ingin menyimpan objek kompleks yang tidak kompatibel dengan Bundle default, kita dapat menggunakan anotasi `@Parcelize` atau mengimplementasikan `Saver` kustom menggunakan `mapSaver` atau `listSaver`.
Pengibaran Negara
Menyimpan state di dalam sebuah komponen memang mempermudah penggunaannya di awal, tetapi juga membuatnya kaku, sulit diuji, dan kurang dapat digunakan kembali. Tekniknya adalah...
Dalam praktiknya, ini berarti mengganti variabel keadaan dengan dua parameter: satu yang mewakili
Mengikuti rencana ini memiliki banyak keuntungan. Di satu sisi, kita memiliki
Optimasi Tingkat Lanjut dan Efek Samping

Seiring berkembangnya aplikasi, performa menjadi sangat penting. Kita tidak ingin seluruh layar berubah bentuk hanya karena perubahan kecil. Itulah mengapa Compose menawarkan solusi.
Saat kita perlu berinteraksi dengan kode di luar Compose (seperti mengirim permintaan jaringan atau mengatur pendengar), kita menggunakan Efek.
Untuk mengintegrasikan alur data modern, seperti Flow atau LiveData, kami memiliki fitur ekstensi seperti:
Kontrol dan Stabilitas Utama
Terkadang kita ingin nilai yang diingat diperbarui tidak hanya melalui rekomposisi, tetapi juga karena variabel eksternal telah berubah.
Untuk meningkatkan efisiensi, sangat penting untuk menggunakan kelas yang ditandai sebagai
Menguasai interaksi antara