การเปลี่ยนรูปแบบ Appstate
| อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | รุ่นอัลฟ่า |
|---|---|---|---|---|
| 28 ตุลาคม 2026 | - | - | - | 1.0.0-alpha01 |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ในการเปลี่ยนรูปแบบ appstate คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google
เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle สำหรับแอปหรือโมดูล ดังนี้
ดึงดูด
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") }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการขึ้นต่อกันได้ที่เพิ่มการขึ้นต่อกันของบิลด์
ความคิดเห็น
ความคิดเห็นของคุณช่วยเราปรับปรุง Jetpack ให้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากคุณพบปัญหาใหม่หรือมีแนวคิดในการปรับปรุงไลบรารีนี้ โปรดดูปัญหาที่มีอยู่ในคลังนี้ก่อนที่จะสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดยคลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบของ Issue Tracker
รุ่น 1.0
เวอร์ชัน 1.0.0-alpha01
28 ตุลาคม 2026
androidx.appstate.transform:transform-*:1.0.0-alpha01 เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
AppState Transform เป็นไลบรารีใหม่ที่สร้างขึ้นในรันไทม์ของ Compose ซึ่งช่วยให้เรียกใช้ Composition นอก UI ได้ อาร์ติแฟกต์ androidx.appstate.transform:transform มี API ของไลบรารีและยังมาพร้อมกับอาร์ติแฟกต์ androidx.appstate.transform:transform-testing สำหรับการทดสอบด้วย นักพัฒนาแอปสามารถใช้ Transform เพื่อจัดการองค์ประกอบได้ทุกที่ภายในแอป
// 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)
}