Tugas 2 PPB A - Membuat Program Hello Android dengan Jetpack Compose
Dokumentasi Aplikasi Hello Android
Aplikasi Hello Android adalah aplikasi sederhana yang dibangun menggunakan Jetpack Compose untuk mendemonstrasikan konsep dasar pengembangan UI Android modern. Aplikasi ini menampilkan layar onboarding dan daftar kartu salam yang dapat diperluas dengan animasi yang halus.
Arsitektur Aplikasi
1. MainActivity
Titik masuk utama aplikasi yang menginisialisasi UI dan mengatur tema aplikasi.
Fitur Utama:
- Menggunakan
setContentuntuk menentukan UI dengan Jetpack Compose - Menerapkan tema
BasicsCodelabTheme - Memanggil komponen
MyAppsebagai root composable
2. MyApp
Composable utama yang mengatur navigasi antar layar dan mengelola status aplikasi.
Fitur Utama:
- Menggunakan
rememberSaveableuntuk menyimpan status onboarding - Navigasi sederhana antara layar onboarding dan layar utama
- Menerapkan warna latar belakang tema
3. OnboardingScreen
Layar pembuka aplikasi yang menampilkan pesan selamat datang dan tombol untuk melanjutkan ke layar utama.
Fitur Utama:
- Layout vertikal dengan elemen di tengah layar
- Callback function untuk handle klik tombol
- Desain minimal dan fokus pada call-to-action
4. Greetings
Menampilkan daftar kartu salam menggunakan LazyColumn untuk menampilkan 1000 item secara efisien.
Fitur Utama:
- Menggunakan
LazyColumnuntuk performa optimal - Membuat 1000 item secara programatis
- Efficient memory management untuk daftar besar
5. Greeting
Menampilkan item individual dalam daftar dengan membungkus setiap item menggunakan komponen Card.
6. CardContent
Mengelola konten dan interaksi dalam kartu. Komponen yang menangani tampilan teks dan fitur expand/collapse.
Fitur Utama:
- State management untuk expand/collapse functionality
- Smooth animation dengan
animateContentSize - Accessibility support dengan content description
- Responsive layout dengan weight modifier
Fitur Aplikasi
Onboarding Flow
Layar pembuka yang user-friendly dengan transisi yang smooth ke layar utama dan persistent state management.
Expandable List
Daftar 1000 item dengan performa optimal, fitur expand/collapse untuk setiap item, dan animasi yang halus dan responsif.
Material Design
Konsisten dengan Material Design guidelines, menggunakan tema dan warna yang sesuai dengan accessibility features terintegrasi.
Teknologi yang Digunakan
Catatan Implementasi
Performa
- Menggunakan
LazyColumnuntuk menangani daftar besar secara efisien - State management yang tepat untuk menghindari recomposition yang tidak perlu
Accessibility
- Content description untuk semua elemen interaktif
- Struktur layout yang semantic dan mudah diakses
Potential Improvements
- Pastikan resource strings sudah didefinisikan di
strings.xml - Tambahkan error handling untuk edge cases
- Implementasi loading states untuk better UX
Komentar
Posting Komentar