Android adalah platform utama untuk Kotlin. Section ini membahas Jetpack Compose, ViewModel, persistensi lokal, dan dependency injection dengan Hilt.
Mengenal Android sebagai sistem operasi mobile, peran Kotlin sebagai bahasa resmi sejak 2017, SDK, NDK, Jetpack, dan empat komponen aplikasi utama.
Buka → # Android Studio dan SDKMengenal Android Studio sebagai IDE resmi, SDK Manager, AVD emulator, build variants, serta alat baris perintah seperti ADB dan logcat.
Buka → # Android Project StructureMembedah struktur proyek Android: modul Gradle, file build.gradle.kts, AndroidManifest.xml, serta source set main, test, dan androidTest.
Buka → # Activity LifecycleMembahas state Activity Android: created, started, resumed, paused, stopped, destroyed; serta override callback onCreate, onResume, onPause, dan skenario rotasi layar.
Buka → # Intents dan NavigationMengenal explicit intent untuk memulai Activity lain, implicit intent untuk membuka URL atau action sistem, serta Navigation Component untuk alur antar Fragment.
Buka → # Layouts dan UI ComponentsMengenal layout XML Android: LinearLayout, ConstraintLayout; common views seperti TextView, Button, RecyclerView; serta prinsip Material Design.
Buka → # Jetpack Compose FundamentalsMengenal UI deklaratif Jetpack Compose: @Composable function, Column, Row, Box, Text, Button, dan anotasi @Preview.
Buka → # Composable FunctionsMembedah anotasi @Composable, sifat fungsi murni dari state, konsep recomposition, serta aturan stabilitas parameter.
Buka → # State dan RecompositionMembahas state hoisting, State`<T>` dan MutableState`<T>`, remember, serta rememberSaveable untuk mempertahankan state lintas perubahan konfigurasi.
Buka → # Compose LayoutsMengenal Column, Row, Box, LazyColumn, LazyRow, LazyVerticalGrid; serta rantai Modifier untuk padding, spacing, dan ukuran.
Buka → # Compose NavigationNavigation Component untuk Jetpack Compose: NavHost, route, argumen type-safe, dan bottom navigation bar.
Buka → # ViewModelMengenal ViewModel sebagai penampung state UI yang bertahan lintas perubahan konfigurasi, viewModelScope untuk coroutine, dan ekspos StateFlow ke Compose.
Buka → # Lifecycle-Aware ComponentsMengenal LifecycleObserver, @OnLifecycleEvent, LifecycleService, dan komponen yang sadar terhadap siklus hidup Activity.
Buka → # StateFlow untuk UIMembeding StateFlow vs LiveData, pola single source of truth di ViewModel, dan collectAsState() di Compose.
Buka → # Coroutines di AndroidMenggunakan viewModelScope.launch dan lifecycleScope.launch, integrasi Retrofit + coroutines, serta perbedaan Dispatchers.Main vs Dispatchers.IO.
Buka → # Repository Pattern AndroidMengenal Repository sebagai abstraksi sumber data (network, db) dengan single source of truth, serta lapisan Use Case untuk logika bisnis.
Buka → # Room DatabaseMengenal Room sebagai ORM Android: @Database, @Entity, @Dao, verifikasi SQL saat kompilasi, dan migrasi skema antar versi.
Buka → # DataStoreMengenal DataStore sebagai pengganti SharedPreferences: Preferences DataStore async dan Proto DataStore type-safe.
Buka → # Networking dan RetrofitSetup Retrofit, anotasi @GET/@POST, converter Moshi/Gson, dan OkHttp interceptor untuk autentikasi serta logging.
Buka → # Serialization dan JSONMengenal kotlinx.serialization dengan @Serializable, @SerialName, custom serializer, dan perbandingan dengan Moshi untuk network DTO.
Buka → # Dependency Injection dengan HiltMengenal Hilt sebagai wrapper Dagger untuk Android: @HiltAndroidApp, @Inject, @Module, @InstallIn, dan @Provides.
Buka → # Permissions dan Runtime PermissionsMengenal runtime permission Android 6+: requestPermission API, rememberLauncherForActivityResult di Compose, dan UI rationale.
Buka → # Background Work dengan WorkManagerMengenal WorkManager untuk tugas latar belakang yang dijamin selesai: OneTimeWorkRequest, PeriodicWorkRequest, constraints, dan backoff policy.
Buka → # NotificationsMengenal notification channels Android 8+, NotificationManager, PendingIntent, action button, dan foreground service notification.
Buka → # Android SecurityPraktik keamanan aplikasi Android: penyimpanan terenkripsi, network security config, ProGuard/R8, dan mitigasi risiko umum.
Buka → # Android Unit TestingStrategi pengujian unit di Android: test lokal (JVM), instrumented test (di device/emulator), mock dengan MockK, dan pola MVVM testable.
Buka → # Compose UI TestingPengujian UI Jetpack Compose: createComposeRule, findNode, performClick, dan screenshot testing.
Buka → # Performance dan ProfilingProfiling aplikasi Android: CPU Profiler, Memory Profiler, Layout Inspector, dan Macrobenchmark untuk pengukuran kinerja.
Buka → # Release dan PublishingBuild APK/AAB, sign dengan keystore, publikasi ke Google Play Console, dan staged rollout.
Buka →