gpt4 book ai didi

java - 如何将 FireStore 逻辑分离到自己的类中

转载 作者:行者123 更新时间:2023-11-29 18:25:27 26 4
gpt4 key购买 nike

我有这个代码

    public String getPoolValue() {
final DocumentReference docRef = database.collection("pool").document("bq2a7gLnz9bpEyIyQeNz");
docRef.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {

@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
Pool pool = documentSnapshot.toObject(Pool.class);
valueOfPool=String.valueOf(pool.getValue());
}
});

return valueOfPool;
}

发生了什么,它是否通过这段代码,立即返回 valueOfPool 而不是通过 onSuccess block ,然后第二次通过并进入 onSuccess block 。由于我将 pool 的值返回给一个 Activity,该 Activity 永远不会获得实际值。

最佳答案

get() 方法是异步的,这意味着返回语句将在 onSuccessListener 之前执行,这就是您得不到实际值的原因。因此,如果您在另一个 Activity 中使用此值,则可以使用 Intent 并在 onSuccessListener 内启动新 Activity :

Intent intent = new Intent(getBaseContext(), Activity.class);
intent.putExtra("value", valueOfPool);
startActivity(intent);

`

关于java - 如何将 FireStore 逻辑分离到自己的类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59292138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com