การเปลี่ยนรูปแบบ 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)
}