====== Android Jetpack ====== [[https://developer.android.com/jetpack/|Android Jetpack]] - official site * suite of libraries to help developers * follow best practices * reduce boilerplate code * build apps consistent across different Android versions and devices * Jetpack is recommended by Google to before mentioned goals * Jetpack is a "newer version" of Support library * Jetpack libraries are published in ''androidx'' namespace [[https://blog.danlew.net/2018/11/14/the-reality-of-migrating-to-androidx/|The Reality of Migrating to AndroidX]] - tips for migration from Support Library to Android Jetpack [[https://developer.android.com/jetpack/androidx/migrate/artifact-mappings|Artifact mappings (support library to androidx)]] [[https://adambennett.dev/2020/08/disabling-jetifier/|Disabling Jetifier]] ===== Jetpack Compose ===== * [[Android Jetpack Compose]] ===== Data storage in Jetpack ===== ==== Room ==== * [[Room]] ==== Jetpack DataStore ==== Official materials from Google: * [[https://developer.android.com/codelabs/android-preferences-datastore#0|Working with Preferences DataStore]] - tutorial * [[https://developer.android.com/develop/ui/views/components/settings/use-saved-values|Use saved values]] - UI guide by Google * https://developer.android.com/topic/libraries/architecture/datastore Articles: * [[https://vtsen.hashnode.dev/simple-preferences-proto-datastore-demo-app|Simple Preferences & Proto DataStore Demo App]] * Example code: * [[https://github.com/vinchamp77/Demo_DataStore/blob/master/app/src/main/java/vtsen/hashnode/dev/datastoredemoapp/ui/screens/PrefsDataStoreScreen.kt|PrefsDataStoreScreen]] * [[https://www.netguru.com/blog/say-goodbye-to-sharedpreferences-meet-datastore|https://www.netguru.com/blog/say-goodbye-to-sharedpreferences-meet-datastore]] by Patryk Springer * [[https://medium.com/androiddevelopers/all-about-preferences-datastore-cc7995679334|All about Preferences DataStore]] by Simona Milanovic * Her example on Github: https://github.com/simona-anomis/android-datastore * [[https://www.kodeco.com/18348259-datastore-tutorial-for-android-getting-started|DataStore Tutorial For Android: Getting Started]] * [[https://proandroiddev.com/preference-datastore-the-generic-way-d26b11f1075f|Preference DataStore (The Generic Way)]] * [[https://www.folio3.com/mobile/blog/introduction-to-jetpack-datastore-alternative-to-sharedpreferences/|Introduction to Jetpack DataStore – Alternative to SharedPreferences]] by Shehroz Asif * [[https://medium.com/swlh/preferences-datastore-in-a-kotlin-way-4c4c41a906e1|Preferences DataStore a replacement for SharedPreferences!]] * [[https://blog.devgenius.io/time-to-migrate-from-shared-preferences-to-datastore-ef9e4ba352cc|Time to migrate from Shared Preferences to DataStore]] * [[https://proandroiddev.com/using-android-jetpack-datastore-with-jetpack-compose-6184338cf9c0|Using Android Jetpack Datastore in Jetpack Compose]] * [[https://proandroiddev.com/forbidden-love-of-preference-and-datastore-part-1-7770e8d98604|Forbidden Love of Preference and DataStore — Part 1]] * Alexey Leontyev considers what is needed to make PreferenceFragmentCompat work with data from DataStore Videos : * [[https://www.youtube.com/watch?v=Bm5p3_LOUYg|Preferences DataStore - Best Way Of Storing Small Data In Your App]] ===== Jetpack Navigation 3 ===== * https://developer.android.com/guide/navigation/navigation-3 * https://github.com/android/nav3-recipes/blob/main/app/src/main/java/com/example/nav3recipes/passingarguments/viewmodels/basic/BasicViewModelsActivity.kt * Short info (very useful for the start): * https://android-developers.googleblog.com/2025/05/announcing-jetpack-navigation-3-for-compose.html * https://github.com/android/nav3-recipes * also: * https://kotlinlang.org/docs/multiplatform/compose-navigation.html#retrieve-complex-data-when-navigating * https://stackoverflow.com/questions/67121433/how-to-pass-object-in-navigation-in-jetpack-compose * https://developer.android.com/develop/ui/compose/components/drawer ===== Misc ===== * [[https://www.paleblueapps.com/rockandnull/app-startup-android/|Jetpack App Startup: keep your startup logic organized]] * [[https://proandroiddev.com/understanding-viewmodel-persistence-across-configuration-changes-in-android-4dc26fa8ae59|Understanding ViewModel Persistence Across Configuration Changes in Android]]