|
Skip to main content
| https://codelabs.developers.google.com/codelabs/jetpack-compose-state#main-content |
|
| https://codelabs.developers.google.com/ |
|
Android Studio
| https://developer.android.com/studio |
|
| https://codelabs.developers.google.com/ |
|
Android Studio
| https://codelabs.developers.google.com/studio |
| State | https://developer.android.com/jetpack/compose/state |
| Jetpack Compose tutorial | https://developer.android.com/jetpack/compose/tutorial |
| ViewModel | https://developer.android.com/topic/libraries/architecture/viewmodel |
| Latest Android Studio | https://developer.android.com/studio |
| Thinking in Compose | https://developer.android.com/jetpack/compose/mental-model |
| Jetpack Compose basics codelab | https://codelabs.developers.google.com/codelabs/jetpack-compose-basics/ |
| Compose Setup documentation | https://developer.android.com/jetpack/compose/setup |
| download the repository as a Zip file | https://github.com/android/codelab-android-compose/archive/end.zip |
| BasicStateCodelab | https://github.com/android/codelab-android-compose/tree/main/BasicStateCodelab |
| Room | https://developer.android.com/jetpack/androidx/releases/room |
| stringResource | https://developer.android.com/jetpack/compose/resources#strings |
| Text | https://developer.android.com/reference/kotlin/androidx/compose/material/package-summary#Text(kotlin.String,androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.TextUnit,androidx.compose.ui.text.font.FontStyle,androidx.compose.ui.text.font.FontWeight,androidx.compose.ui.text.font.FontFamily,androidx.compose.ui.unit.TextUnit,androidx.compose.ui.text.style.TextDecoration,androidx.compose.ui.text.style.TextAlign,androidx.compose.ui.unit.TextUnit,androidx.compose.ui.text.style.TextOverflow,kotlin.Boolean,kotlin.Int,kotlin.Function1,androidx.compose.ui.text.TextStyle) |
| Modifier | https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier |
| Button | https://developer.android.com/reference/kotlin/androidx/compose/material3/package-summary#Button(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.foundation.interaction.MutableInteractionSource,androidx.compose.material3.ButtonElevation,androidx.compose.ui.graphics.Shape,androidx.compose.foundation.BorderStroke,androidx.compose.material3.ButtonColors,androidx.compose.foundation.layout.PaddingValues,kotlin.Function1) |
| Column | https://developer.android.com/reference/kotlin/androidx/glance/layout/package-summary#column |
| lambda function | https://kotlinlang.org/docs/lambdas.html |
| Kotlin documentation | https://kotlinlang.org/docs/reference/lambdas.html |
| Thinking in Compose | https://developer.android.com/jetpack/compose/mental-model |
| State | https://developer.android.com/reference/kotlin/androidx/compose/runtime/State |
| MutableState | https://developer.android.com/reference/kotlin/androidx/compose/runtime/MutableState |
| mutableStateOf | https://developer.android.com/reference/kotlin/androidx/compose/runtime/package-summary#mutableStateOf(kotlin.Any,androidx.compose.runtime.SnapshotMutationPolicy) |
| remember | https://developer.android.com/reference/kotlin/androidx/compose/runtime/remember.composable#remember(kotlin.Function0) |
| Compose State documentation | https://developer.android.com/jetpack/compose/state#state-in-composables |
| delegated properties | https://kotlinlang.org/docs/delegated-properties.html |
| LiveData | https://developer.android.com/topic/libraries/architecture/livedata |
| StateFlow | https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-state-flow/ |
| Flow | https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html |
| Observable | http://reactivex.io/documentation/observable.html |
| Compose and other libraries | https://developer.android.com/jetpack/compose/libraries#streams |
| of composables | https://developer.android.com/jetpack/compose/lifecycle#lifecycle-overview |
| Android Studio's Layout inspector tool | https://developer.android.com/studio/debug/layout-inspector |
| remember | https://developer.android.com/reference/kotlin/androidx/compose/runtime/remember.composable#remember(kotlin.Function0) |
| Row | https://developer.android.com/reference/androidx/leanback/widget/Row |
| rememberSaveable | https://developer.android.com/reference/kotlin/androidx/compose/runtime/saveable/rememberSaveable.composable#rememberSaveable(kotlin.Array,androidx.compose.runtime.saveable.Saver,kotlin.String,kotlin.Function0) |
| Bundle | https://developer.android.com/reference/android/os/Bundle |
| Restoring state in Compose | https://developer.android.com/jetpack/compose/state#restore-ui-state |
| Compose Architecture documentation | https://developer.android.com/jetpack/compose/architecture#udf-compose |
| Compose State documentation | https://developer.android.com/jetpack/compose/state#state-hoisting |
| Checkbox | https://developer.android.com/reference/kotlin/androidx/compose/material/Checkbox.composable#Checkbox(kotlin.Boolean,kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.foundation.interaction.MutableInteractionSource,androidx.compose.material.CheckboxColors) |
| data class | https://kotlinlang.org/docs/data-classes.html |
| data layer | https://developer.android.com/jetpack/guide/data-layer |
| LazyColumn | https://developer.android.com/reference/kotlin/androidx/compose/foundation/lazy/package-summary#LazyColumn(androidx.compose.ui.Modifier,androidx.compose.foundation.lazy.LazyListState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,kotlin.Function1) |
| Lists documentation | https://developer.android.com/jetpack/compose/lists |
| Compose Tooling documentation | https://developer.android.com/jetpack/compose/tooling#editor-actions |
| LazyColumn | https://developer.android.com/reference/kotlin/androidx/compose/foundation/lazy/package-summary#LazyColumn(androidx.compose.ui.Modifier,androidx.compose.foundation.lazy.LazyListState,androidx.compose.foundation.layout.PaddingValues,kotlin.Boolean,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,androidx.compose.foundation.gestures.FlingBehavior,kotlin.Boolean,kotlin.Function1) |
| LazyListState | https://developer.android.com/reference/kotlin/androidx/compose/foundation/lazy/LazyListState |
| documentation for state in lists | https://developer.android.com/jetpack/compose/lists#react-to-scroll-position |
| BottomSheetScaffold | https://developer.android.com/reference/kotlin/androidx/compose/material3/BottomSheetScaffold.composable#BottomSheetScaffold(kotlin.Function1,androidx.compose.ui.Modifier,androidx.compose.material3.BottomSheetScaffoldState,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,kotlin.Function0,kotlin.Boolean,kotlin.Function0,kotlin.Function1,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1) |
| rememberBottomSheetScaffoldState | https://developer.android.com/reference/kotlin/androidx/compose/material3/rememberBottomSheetScaffoldState.composable#rememberBottomSheetScaffoldState(androidx.compose.material3.SheetState,androidx.compose.material3.SnackbarHostState) |
| toMutableStateList() | https://developer.android.com/reference/kotlin/androidx/compose/runtime/package-summary#(kotlin.collections.Collection).toMutableStateList() |
| mutableStateListOf | https://developer.android.com/reference/kotlin/androidx/compose/runtime/package-summary#mutableStateListOf() |
| SnapshotStateList | https://developer.android.com/reference/kotlin/androidx/compose/runtime/snapshots/SnapshotStateList |
| item keys in a list | https://developer.android.com/jetpack/compose/lists |
| custom saver | https://developer.android.com/jetpack/compose/state#restore-ui-state |
| onSaveInstanceState | https://developer.android.com/reference/android/app/Activity#onSaveInstanceState(android.os.Bundle) |
| Save UI states documentation | https://developer.android.com/topic/libraries/architecture/saving-states#onsaveinstancestate |
| options for preserving UI state | https://developer.android.com/topic/libraries/architecture/saving-states#options |
| ViewModels | https://developer.android.com/topic/libraries/architecture/viewmodel |
| Compose Navigation | https://developer.android.com/jetpack/compose/navigation |
| UI layer documentation | https://developer.android.com/jetpack/guide/ui-layer#define-ui-state |
| viewModel() | https://developer.android.com/reference/kotlin/androidx/lifecycle/viewmodel/compose/viewModel.composable#viewModel(androidx.lifecycle.ViewModelStoreOwner,kotlin.String,androidx.lifecycle.ViewModelProvider.Factory,androidx.lifecycle.viewmodel.CreationExtras) |
| 2.6.2 | https://developer.android.com/jetpack/androidx/releases/lifecycle#2.6.2 |
| here | https://developer.android.com/jetpack/androidx/releases/lifecycle |
| persisting your app's UI state | https://developer.android.com/topic/libraries/architecture/saving-states |
| ViewModel and state holders section | https://developer.android.com/jetpack/compose/state#viewmodels-source-of-truth |
| Compose and other libraries | https://developer.android.com/jetpack/compose/libraries#viewmodel |
| Integrating Compose with your existing app architecture | https://developer.android.com/jetpack/compose/interop/compose-in-existing-arch#viewmodel |
| Testing in Compose | https://developer.android.com/codelabs/jetpack-compose-testing#0 |
| Compose pathway | https://developer.android.com/courses/pathways/compose |
| Sample apps | https://github.com/android/compose-samples/ |
| JetNews | https://github.com/android/compose-samples/tree/master/JetNews |
| Thinking in Compose | https://developer.android.com/jetpack/compose/mental-model |
| State and Jetpack Compose | https://developer.android.com/jetpack/compose/state |
| Unidirectional data flow in Jetpack Compose | https://developer.android.com/jetpack/compose/architecture#udf-compose |
| Restoring state in Compose | https://developer.android.com/jetpack/compose/state#restore-ui-state |
| ViewModel Overview | https://developer.android.com/topic/libraries/architecture/viewmodel |
| Compose and other libraries | https://developer.android.com/jetpack/compose/libraries |
| remember | https://developer.android.com/reference/kotlin/androidx/compose/runtime/package-summary.html#remember(kotlin.Function0) |
| rememberSaveable | https://developer.android.com/reference/kotlin/androidx/compose/runtime/saveable/rememberSaveable.composable#rememberSaveable(kotlin.Array,androidx.compose.runtime.saveable.Saver,kotlin.String,kotlin.Function0) |
| State | https://developer.android.com/reference/kotlin/androidx/compose/runtime/State |
| MutableState | https://developer.android.com/reference/kotlin/androidx/compose/runtime/MutableState |
| SnapshotStateList | https://developer.android.com/reference/kotlin/androidx/compose/runtime/snapshots/SnapshotStateList |
| ViewModel | https://developer.android.com/topic/libraries/architecture/viewmodel |
| Creative Commons Attribution 4.0 License | https://creativecommons.org/licenses/by/4.0/ |
| Apache 2.0 License | https://www.apache.org/licenses/LICENSE-2.0 |
| Google Developers Site Policies | https://developers.google.com/site-policies |
|
X
| https://x.com/AndroidDev |
|
YouTube
| https://www.youtube.com/user/androiddevelopers |
|
LinkedIn
| https://www.linkedin.com/showcase/androiddev |
|
Android
| https://www.android.com |
|
Android for Enterprise
| https://www.android.com/enterprise/ |
|
Security
| https://www.android.com/security-center/ |
|
Source
| https://source.android.com |
|
News
| https://codelabs.developers.google.com/news |
|
Blog
| https://android-developers.googleblog.com/ |
|
Podcasts
| https://codelabs.developers.google.com/podcasts |
|
Gaming
| https://codelabs.developers.google.com/games |
|
Machine Learning
| https://codelabs.developers.google.com/ml |
|
Health & Fitness
| https://codelabs.developers.google.com/health-and-fitness |
|
Camera & Media
| https://codelabs.developers.google.com/media |
|
Privacy
| https://codelabs.developers.google.com/privacy |
|
5G
| https://codelabs.developers.google.com/training/connectivity/5g |
|
Large screens
| https://codelabs.developers.google.com/large-screens |
|
Wear OS
| https://codelabs.developers.google.com/wear |
|
ChromeOS devices
| https://codelabs.developers.google.com/chrome-os |
|
Android for cars
| https://codelabs.developers.google.com/cars |
|
Android TV
| https://codelabs.developers.google.com/tv |
|
Android 17
| https://codelabs.developers.google.com/about/versions/17 |
|
Android 16
| https://codelabs.developers.google.com/about/versions/16 |
|
Android 15
| https://codelabs.developers.google.com/about/versions/15 |
|
Android 14
| https://codelabs.developers.google.com/about/versions/14 |
|
Android 13
| https://codelabs.developers.google.com/about/versions/13 |
|
Android 12
| https://codelabs.developers.google.com/about/versions/12 |
|
Android 11
| https://codelabs.developers.google.com/about/versions/11 |
|
Android Studio guide
| https://codelabs.developers.google.com/studio/intro |
|
Developers guides
| https://codelabs.developers.google.com/guide |
|
API reference
| https://codelabs.developers.google.com/reference |
|
Download Studio
| https://codelabs.developers.google.com/studio |
|
Android NDK
| https://codelabs.developers.google.com/ndk |
|
Report platform bug
| https://issuetracker.google.com/issues/new?component=190923&template=841312 |
|
Report documentation bug
| https://issuetracker.google.com/issues/new?component=192697 |
|
Google Play support
| https://support.google.com/googleplay/android-developer |
|
Join research studies
| https://g.co/userresearch/androiddeveloperfooter |
|
| https://developers.google.com/ |
|
Android
| https://developer.android.com |
|
Chrome
| https://developer.chrome.com/home |
|
Firebase
| https://firebase.google.com |
|
Google Cloud Platform
| https://cloud.google.com |
|
All products
| https://developers.google.com/products/ |
|
Privacy
| https://policies.google.com/privacy |
|
License
| https://codelabs.developers.google.com/license |
|
Brand guidelines
| https://codelabs.developers.google.com/distribute/marketing-tools/brand-guidelines |
|
Manage cookies
| https://codelabs.developers.google.com/codelabs/jetpack-compose-state |
|
Subscribe
| https://codelabs.developers.google.com/updates |