首页 > 解决方案 > 如何反序列化 Firestore 字段中的数值并使用 kotlinx.coroutines 在 de while/loop 中读取它

问题描述

在 Firestore 中,我创建了一个名为 PararUm 的字段,输入数字(当我手动输入时,它没有 Int)并输入值 1。

问题是返回值是 PararUm(PararUm=1) 而不仅仅是 1。(99-below)

当我解决这个问题时,我会解决项目的第一部分。

关于第二个,我想使用 kotlinx.coroutines 以同步、非异步方式(根据 firebase 要求)在 while/loop(查询 PararUm 字段的值)中工作

我可以做类似的事情吗???(999-以下):

我把这个话题扔了下来,但我不高兴1

99以下:

模型

@IgnoreExtraProperties
data class PararUm(
        var PararUm: Int? = 0
)

活动

var db = FirebaseFirestore.getInstance()

 override fun onCreate(savedInstanceState: Bundle?) {
     super.onCreate(savedInstanceState)
     var pararumRef = 
db.collection("smartmodel").document("xxxxxxxxxxxx")

    pararumRef.get().addOnSuccessListener { documentSnapshot ->
        var PararUm = documentSnapshot.toObject(PararUm::class.java)
        Log.i(ContentValues.TAG, "1999 1999 1999" + PararUm)

    }
}

999以下:

while (!FCMotorUmA.value) {

    var snapshot = pararumRef.get().await()
        
    var pararum = snapshot.toObject(PararUM::class.java)

    if (pararum.equals(0)) {

        // Do something 1


    } else if (pararum.equals(1)) {

        // Do something 2
    }

}

标签: firebasekotlingoogle-cloud-firestorekotlin-coroutines

解决方案


推荐阅读