【发布时间】:2017-03-23 21:09:24
【问题描述】:
我正在尝试在我的 Android 应用程序中从 Firebase 获取特定数据。 在 onCreate 中,我定义了我的 DatabaseReference 和 ArrayList:
databaseRef = FirebaseDatabase.getInstance().getReference("books");
books = new ArrayList<>();
然后用数据填充我的 ListView:
@Override
protected void onStart() {
super.onStart();
databaseRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
books.clear();
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String uid = user.getUid();
//iterating through all the nodes
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
Book bookrequest = postSnapshot.getValue(Book.class);
books.add(bookrequest );
}
}
BooksListing booksAdapter = new BooksListing(MainActivity.this, books);
//attaching adapter to the listview
listViewBooks.setAdapter(booksAdapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
现在我只想从 Firebase 获取具有我自己的 UID 的书籍。
type books {
id: String;
amount: Number;
uid: uid;}
在将数据传输到我的 Android 设备之前,我可以在哪里执行查询?
【问题讨论】:
标签: android listview firebase firebase-realtime-database firebase-authentication