【问题标题】:Unable to fetch data from Firebase (Cloud Firestore Database)无法从 Firebase(Cloud Firestore 数据库)获取数据
【发布时间】:2019-10-29 23:53:47
【问题描述】:

我的 Cloud Firestore 数据库中有一些数据。集合的名称是 bus,我有 2 个文档(bus_id_1 和 bus_id_2)。我添加了一个按钮,这样当我单击它时,我会在 TextView 中从数据库中获取数据。

TextView busesText;

private Button btnViewData;
FirebaseFirestore db = FirebaseFirestore.getInstance();
private DocumentReference mDocRef = db.getInstance().document("buses/bus_id_1");

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FirebaseApp.initializeApp(this);
    setContentView(R.layout.activity_main);
    busesText = (TextView)findViewById(R.id.showData);
   }

public void getData(View view){

    mDocRef.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
        @Override
        public void onSuccess(DocumentSnapshot documentSnapshot) {
            if (documentSnapshot.exists()) {
                Bus bus = documentSnapshot.toObject(Bus.class);
                busesText.setText(bus.getLine());
            }
        }
    });
}

当我点击按钮时,我在控制台中看到:

W/RenderThread: type=1400 audit(0.0:733273): avc: denied { read } for name="perf_ioctl" dev="proc" ino=4026533695 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=文件许可=0 V/FA:不活动,断开与 服务

可能是什么原因?

【问题讨论】:

  • 此消息与任何 Firebase SDK 均无关。这是由 Android 平台内部的东西记录的。
  • 您的应用会崩溃吗?
  • @AlexMamo 不,它不会崩溃,只是在我单击按钮时不显示数据。
  • 您能否重新检查您的文件先生或从 Firestore 发布您的数据

标签: java android firebase google-cloud-firestore


【解决方案1】:

您的数据库似乎不允许读取操作,因此您需要更改 Firestore 数据库的规则。它应该是这样的:-

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}

注意:- 仅当您想从应用程序更新数据库时才允许写入。

【讨论】:

  • 我在规则中有这个
  • 在初始化 FirebaseApp 后尝试在 onCreate() 中初始化 db 和 myDocRef。
  • 谢谢,但还是不行。 E/EnhancedIntentService: 绑定到服务失败而且我点击按钮时也出现上一个错误
  • 拒绝重新初始化以前失败的类 java.lang.Class:java.lang.NoClassDefFoundError:解析失败:Landroid/view/查看$OnUnhandledKeyEventListener;
  • 原因:java.lang.ClassNotFoundException:在路径上找不到类“android.view.View$OnUnhandledKeyEventListener”:DexPathList** 拒绝在先前失败的类 java.lang 上重新初始化。类:java.lang.NoClassDefFoundError:解析失败:Landroid/view/View$OnUnhandledKeyEventListener;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-24
  • 2022-09-23
  • 1970-01-01
  • 2019-05-10
  • 1970-01-01
  • 2018-08-11
相关资源
最近更新 更多