Appstate Transform
| Letzte Aktualisierung | Stabile Release | Releasekandidat | Beta-Release | Alpha-Release |
|---|---|---|---|---|
| 28. Oktober 2026 | - | - | – | 1.0.0-alpha01 |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von der AppState-Transformation hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Google-Repository bei Maven.
Fügen Sie die Abhängigkeiten für die benötigten Artefakte in der Datei build.gradle für Ihre App oder Ihr Modul hinzu:
Groovy
dependencies { implementation "androidx.appstate.transform:transform:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-android:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-desktop:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-iosarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-iossimulatorarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-js:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-linuxarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-linuxx64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-macosarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-mingwx64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-android:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-desktop:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-iosarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-iossimulatorarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-js:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-linuxarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-linuxx64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-macosarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-mingwx64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-tvosarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-tvossimulatorarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-wasm-js:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-watchosarm32:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-watchosarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-watchosdevicearm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-testing-watchossimulatorarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-tvosarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-tvossimulatorarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-wasm-js:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-watchosarm32:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-watchosarm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-watchosdevicearm64:1.0.0-alpha01" implementation "androidx.appstate.transform:transform-watchossimulatorarm64:1.0.0-alpha01" }
Kotlin
dependencies { implementation("androidx.appstate.transform:transform:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-android:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-desktop:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-iosarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-iossimulatorarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-js:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-linuxarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-linuxx64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-macosarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-mingwx64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-android:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-desktop:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-iosarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-iossimulatorarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-js:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-linuxarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-linuxx64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-macosarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-mingwx64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-tvosarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-tvossimulatorarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-wasm-js:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-watchosarm32:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-watchosarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-watchosdevicearm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-testing-watchossimulatorarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-tvosarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-tvossimulatorarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-wasm-js:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-watchosarm32:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-watchosarm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-watchosdevicearm64:1.0.0-alpha01") implementation("androidx.appstate.transform:transform-watchossimulatorarm64:1.0.0-alpha01") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf den Button mit dem Stern.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.0
Version 1.0.0-alpha01
28. Oktober 2026
androidx.appstate.transform:transform-*:1.0.0-alpha01 ist veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.
Neue Funktionen
AppState Transform ist eine neue Bibliothek, die auf der Compose-Laufzeit basiert und es ermöglicht, eine Komposition außerhalb der Benutzeroberfläche auszuführen. Das Artefakt androidx.appstate.transform:transform stellt die Bibliotheks-APIs bereit und enthält auch ein androidx.appstate.transform:transform-testing-Artefakt zum Testen. Entwickler können „Transform“ verwenden, um ihre Komposition an einer beliebigen Stelle in ihrer App zu verwalten.
// With helper function
var sourceState by mutableStateOf(0)
val state = transform(initialValue = 0, scope = myCoroutineScope) {
// any time this state changes, this lambda will update
sourceState
}
// With TransformScope directly
val transformScope = TransformScope()
var sourceState by mutableStateOf(0)
val state = transformScope.launchTransform(initialValue = 0) {
// any time this state changes, this lambda will update
sourceState
}
myCoroutineScope.launch {
try {
transformScope.run()
} finally {
state.dispose()
}
}
// In test with the new transformTest API
@Test
fun testStateUpdate() = transformTest {
var sourceState by mutableStateOf(0)
val state = transform(
initialValue = 0, scope = backgroundScope, dispatcher = testDispatcher
) {
sourceState
}
assertThat(state.value).isEqualTo(0)
sourceState = 1
advance()
assertThat(state.value).isEqualTo(1)
}