首页 > 解决方案 > 试图从火库中获取字符串

问题描述

我正在开发一个受限注册页面,我需要从数据库中获取代码,但字符串返回为空,我不知道为什么。任何人都可以帮忙吗?

下面是读取代码的函数:

public void codeClinic() {

    DocumentReference docRef = FirebaseFirestore.getInstance().collection("CodeClinic").document("Codes");
    docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
        @Override
        public void onComplete(@NonNull Task<DocumentSnapshot> task) {
            if (task.isSuccessful()) {
                DocumentSnapshot document = task.getResult();
                codedb = document.getString(clinic.getText().toString());
                Log.d("Code",codedb);
            }
        }
    });
}

我只是在 onClick 函数上调用它TextView以查看它返回的内容,然后返回为空。

这是数据库

数据库

谢谢

标签: javaandroidfirebasegoogle-cloud-firestore

解决方案


要使其工作,请使用以下代码:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
rootRef.collection("CodeClinic").document("Codes").get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
        if (task.isSuccessful()) {
            DocumentSnapshot document = task.getResult();
            if (document.exists()) {
                String clinica = document.getString("Clinica");
                Long feup = document.getLong("FEUP");
                String outra = document.getString("outra");
                Log.d("TAG", clinica + " / " + feup + " / " + outra);
            }
        }
    }
});

您的输出将是:1111 / 1234 / 2222.


推荐阅读