gpt4 book ai didi

android - 使用 LiveData 作为 Jetpack @Compose 函数内部的状态

转载 作者:行者123 更新时间:2023-12-02 16:38:11 30 4
gpt4 key购买 nike

我想使用LiveData<List<DataClass>>成为 @Composable 函数中我的状态的来源。

我无法使用新的@Model注释,我在这个演讲中看到了Link(at 32:06)可以通过调用函数+observe(/* Data */)来使用LiveData、Flow等。 .

针对问题:我找不到视频中使用的函数(+observe())或任何其他使用 LiveData 作为来源的方法。如何在 @Compose 函数中使用 LiveData?

项目 Gradle:

buildscript {
ext.kotlin_version = '1.3.60-eap-76'
repositories {
google()
jcenter()
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.0-alpha04'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

应用程序 gradle:依赖项:

   def lifecycle_version = "2.1.0"
def compose_version = "0.1.0-dev02"

// ViewModel and LiveData
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
androidTestImplementation "androidx.arch.core:core-testing:$lifecycle_version"

implementation "androidx.compose:compose-runtime:$compose_version"
kapt "androidx.compose:compose-compiler:$compose_version"

// Android Compose
implementation "androidx.ui:ui-layout:$compose_version"
implementation "androidx.ui:ui-foundation:$compose_version"
implementation "androidx.ui:ui-framework:$compose_version"
implementation "androidx.ui:ui-tooling:$compose_version"
implementation "androidx.ui:ui-android-text:$compose_version"
implementation "androidx.ui:ui-text:$compose_version"
implementation "androidx.ui:ui-material:$compose_version"


最佳答案

这是使用状态观察实时数据的另一种方法。有一个扩展功能,只需包含它即可。

在下面添加 gradle 依赖项:

implementation 'androidx.compose.runtime:runtime-livedata:1.0.0-beta01'

例如,现在只需将常规的LiveData 转换为 State 即可。

 val breedItems by doggoViewModel.liveBreedData().observeAsState()

关于android - 使用 LiveData 作为 Jetpack @Compose 函数内部的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59096435/

30 4 0