0
0
Android Kotlinmobile~20 mins

Derived state in Android Kotlin - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Derived State Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
ui_behavior
intermediate
2:00remaining
How does derived state update the UI?
Consider a Compose UI with a derivedStateOf that calculates the length of a text input. What happens when the user types a new character?
Android Kotlin
val text = remember { mutableStateOf("") }
val textLength = remember { derivedStateOf { text.value.length } }
TextField(value = text.value, onValueChange = { text.value = it })
Text(text = "Length: ${textLength.value}")
AThe length text updates immediately when the input changes.
BThe length text updates only when the TextField loses focus.
CThe length text never updates after the first render.
DThe length text updates only when a button is clicked.
Attempts:
2 left
💡 Hint
Derived state recalculates when its dependencies change.
lifecycle
intermediate
2:00remaining
When is derivedStateOf recomputed?
Given a derivedStateOf that depends on multiple mutable states, when does it recompute its value?
Android Kotlin
val count = remember { mutableStateOf(0) }
val enabled = remember { mutableStateOf(true) }
val derived = remember {
  derivedStateOf {
    if (enabled.value) count.value * 2 else 0
  }
}
AOnly when enabled.value changes, ignoring count.value.
BEvery time the composable recomposes, regardless of state changes.
COnly when count.value changes, ignoring enabled.value.
DOnly when count.value or enabled.value changes.
Attempts:
2 left
💡 Hint
Derived state tracks all state reads inside its block.
🔧 Debug
advanced
2:00remaining
Why does derivedStateOf not update as expected?
A developer uses derivedStateOf but notices the UI does not update when the base state changes. What is the most likely cause?
Android Kotlin
val baseState = mutableStateOf(0)
val derived = derivedStateOf { baseState.value * 2 }
// UI uses derived.value but does not recompose on baseState changes
AderivedStateOf was not wrapped in remember, so it recreates every recomposition.
BmutableStateOf was not initialized with a value.
CThe UI is not reading derived.value, so no recomposition triggers.
DderivedStateOf does not track mutableStateOf values automatically.
Attempts:
2 left
💡 Hint
Compose only recomposes when observed state is read in the UI.
🧠 Conceptual
advanced
2:00remaining
Why use derivedStateOf instead of recomputing directly in UI?
What is the main advantage of using derivedStateOf for computed values in Compose?
AIt forces recomposition every frame for smoother UI animations.
BIt caches the computed value and recomputes only when dependencies change, improving performance.
CIt allows mutableStateOf to be used inside composables without remember.
DIt disables recomposition to prevent UI updates.
Attempts:
2 left
💡 Hint
Think about avoiding unnecessary work in UI updates.
📝 Syntax
expert
2:00remaining
Identify the correct syntax for derivedStateOf usage
Which option shows the correct way to declare a derivedStateOf that depends on a mutableStateOf in Compose?
A
val count = mutableStateOf(0)
val doubleCount = derivedStateOf { count.value * 2 }
B
val count = mutableStateOf(0)
val doubleCount = derivedStateOf(count.value * 2)
C
val count = mutableStateOf(0)
val doubleCount = derivedStateOf { count * 2 }
D
val count = mutableStateOf(0)
val doubleCount = derivedStateOf { count.value * 2 }()
Attempts:
2 left
💡 Hint
derivedStateOf takes a lambda returning the computed value.