[英]How to retrieve list from firebase realtime database?
我正在开发出勤应用程序。 我想检索带有礼物数量的学生列表,并将其填充在列表视图中。
我试过下面的代码,但我得到了一位特定学生的礼物。
DatabaseReference ref =
FirebaseDatabase.getInstance().getReference().child("Students
Attendance").child(selectedItem).child(id).child(subject);
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getValue() != null) {
Userlist.add(dataSnapshot.getValue().toString());
addStudents(Userlist);
}else {
Toast.makeText(getApplicationContext(), "****NO Record
FOUND****", Toast.LENGTH_LONG).show();
}
}
我希望输出为学生列表,并在列表视图中填充礼物数量。
由于您要制作的应用程序可以计算特定学生的礼物数量。 您可以这样操作:
首先,您可以将要存储在数据库中的值设置为: mFirebaseDatabaseReference.push().setValue(new String[]{student_name,attendance})
这会将数据存储为:-Sam,70和Mike,75
现在使用ChildEventListener检索该数据:
mChildEventListener = new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
String data = dataSnapshot.getValue();
mMyAdapter.add(data);
);
这里要注意的一件事是,您不必在此处使用push()
方法时放置student_id,因此它会为每个孩子提供一个新的ID,这样我们就不必担心数据会因以下原因而受到干扰:相同的名称或标记。
ref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (dataSnapshot.exists()) {
String value = dataSnapshot.getValue().toString();
String key = dataSnapshot.getKey();
String record = key + ": " + value;
Userlist.add(record);
addStudents(Userlist);
}
它为我工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.