Tugas 11 Authentication

       

Aplikasi Authentication


Vito Febrian Ananta
5025211224
Pemrograman Perangkat Bergerak (D)

Pada tugas ke-11 ini, telah dibuat aplikasi untuk implementasi authentication. Untuk mengembangkan kemampuan secara teknis dan kreatifitas, saya memutuskan untuk mendalami aplikasi ini dengan beberapa poin berikut:
1. Implementasi Arsitektur MVVM
2. 
Implementasi Database Room

Berikut adalah penjelasan detail dari kodenya:

1. Implementasi StateFlow untuk Mengelola UI State


StateFlow adalah cara modern untuk mengelola state dalam ViewModel yang bersifat reactive. Dengan menggunakan MutableStateFlow sebagai private property dan StateFlow sebagai public property, kita memastikan bahwa hanya ViewModel yang dapat mengubah state, sementara UI hanya dapat mengobservasi perubahan state. Penggunaan _uiState.update() memungkinkan kita melakukan perubahan state secara immutable dan thread-safe, yang sangat penting untuk menjaga konsistensi data dalam aplikasi.

2. Implementasi Database Room


Room adalah library object mapping SQLite yang direkomendasikan Android yang menyediakan lapisan abstraksi di atas SQLite. Implementasi ini menampilkan tiga komponen inti: Entity (kelas User ) mendefinisikan struktur tabel database dengan anotasi seperti @PrimaryKey dan @Entity , DAO (Data Access Object) menyediakan metode untuk berinteraksi dengan database menggunakan query SQL dengan anotasi seperti @Query , @Insert , dan @Update , serta Database class yang extends RoomDatabase dan berfungsi sebagai titik akses utama. Room menangani konversi tipe (seperti objek Date ), menyediakan verifikasi query SQL pada waktu kompilasi, dan terintegrasi dengan mulus dengan Kotlin coroutines dan Flow untuk pemrograman reaktif, membuat operasi database menjadi aman dan efisien.


Proyek ini mendemonstrasikan praktik pengembangan Android modern dengan menggabungkan arsitektur MVVM dengan database Room, menciptakan sistem autentikasi yang robust, scalable, dan mudah dipelihara menggunakan Jetpack Compose untuk lapisan UI.

Video Presentasi:


UI Starbucks (referensi):



UI WorkFun:



Tampilan Android Studio:






Comments

Popular posts from this blog

Tugas 6 Converter

Tugas 8 Woof