【Android微调器没有显示Firebase实时数据库数据()】关山初度尘未洗,策马扬鞭再奋蹄!这篇文章主要讲述Android微调器没有显示Firebase实时数据库数据?相关的知识,希望能为你提供帮助。
一段时间以来我一直遇到麻烦。我想在android studio中创建一个微调器并使用firebase数据库。但我似乎无法让微调器在微调器中显示任何数据库的数据。我试图遵循一些类似的问题,但我遇到了同样的问题。由于我是Firebase的新手,因此我不确定如何实际创建索引以从中获取。
这是我目前的代码:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference fDatabaseRoot = database.getReference("locations");
fDatabaseRoot.child("buildings").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
final List<
String>
buildings = new ArrayList<
>
();
for (DataSnapshot buildingSnapshot: dataSnapshot.getChildren()) {
String buildingName = buildingSnapshot.child("buildingName").getValue(String.class);
buildings.add(buildingName);
}Spinner buildingSpinner = findViewById(R.id.spinner);
ArrayAdapter<
String>
buildingAdapter = new ArrayAdapter<
>
(MainActivity.this, android.R.layout.simple_spinner_item, buildings);
buildingAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
buildingSpinner.setAdapter(buildingAdapter);
}@Override
public void onCancelled(DatabaseError databaseError) {}
});
`
以下是我的数据库设置方式:Firebase Spinner Database
答案这是
SnapshotListener
的FirebaseFirestore实现。您可以通过DocumentChange类检查数据的变化类型(ADDED
,MODIFIED
,REMOVED
)。你可以在这里看看这个例子:https://firebase.google.com/docs/firestore/query-data/listen#view_changes_between_snapshotsFirebaseFirestore db= FirebaseFirestore.getInstance();
db.collection("locations").document("buildings").addSnapshotListener(new EventListener<
QuerySnapshot>
() {
@Override
public void onEvent(@Nullable QuerySnapshot snapshots,
@Nullable FirebaseFirestoreException e){
//your action here
}
);
另一答案好吧,使用实时数据库我必须将读写规则切换为true,完全忘了这样做。
记住小孩总是做你的功课。 :)
推荐阅读
- Android - Firebase addChildEventListener触发器[重复]
- Android通知会多次打开,而不是只打开一次
- 如何使用firebase作为数据库在android中获取附近的用户名()
- Android(从运行时生成的文本字段中将数据保存到Firebase)
- 如何在Firebase中获取用户数作为计数在android TextView中
- 从Firebase实时数据库读取Android数据并在RecyclerView上显示
- 带有范围的Android Firebase查询(上方,中间,下方)
- 类'test_coredataAppDelegate'的重复接口声明
- 如何在Kali Linux中通过TOR路由所有机器流量