我的 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=file permissive=0 V/FA: Inactivity, disconnecting from the service
可能是什么原因?
最佳答案
您的数据库似乎不允许读取操作,因此您需要更改 Firestore 数据库的规则。它应该看起来像这样:-
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
注意:- 仅当您想从应用程序更新数据库时才允许写入。
关于java - 无法从 Firebase(Cloud Firestore 数据库)获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56613494/