簡體   English   中英

如何從firebase文檔中獲取數據以存儲它並以另一種方法使用它

[英]How to get data from firebase document to store it and use it in another method

我在互聯網上搜索了很多,但找不到我需要的確切答案。

實施此方法后,從特定文檔中的 firestore 獲取數據,其中 username="dotcom"

  public void UserData(){
        db.setFirestoreSettings(settings);
        CollectionReference peopleRef = db.collection("member");
        peopleRef.whereEqualTo("Username", "dotcom")
                .get()
                .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                    DocumentSnapshot document;
                    @Override
                    public void onComplete(@NonNull Task<QuerySnapshot> task) {
                        if (task.isSuccessful()) {
                            for (DocumentSnapshot document : task.getResult()) {
                                Log.d("TAG", document.getId() + " => " + document.getData());

                            }

                        } else {
                            Log.d("TAG", "Error getting documents: ", task.getException());
                        }
                    }

                });
    }

我需要 document.getData() 的值才能在同一個類中的另一個方法中使用它。 我已經用 setter 和 getter 測試了局部和全局變量,它對我不起作用:(

正如社區的另一篇帖子所闡明的那樣 - 可在此處訪問 - 您可能需要采取一些措施來實現這一目標。

總而言之,所有這些都涉及您獲取數據並將其設置為一個ArrayList ,您可以在該方法之外操作和使用它。 在這個ArrayList ,還有兩種可能性:使用異步方法onComplete() - 官方文檔中的更多信息在這里- 一旦完成,您將能夠在其中獲取數據; 另一種方法是使用toObject()將對象添加到數組中。

它們相對於另一個都有一些好處 - 例如,使用toObject()您將在調用它們時更好地管理方法,而另一個onComplete()將需要較少的實現。

無論如何,我建議您查看社區帖子以獲取更多信息和代碼示例供您自己使用。

如果這些信息對您有幫助,請告訴我!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM