[英]Reading multiple children from firebase in android studio
我正在用android studio创建一个考勤应用。 其中的一部分包括一个历史记录按钮,其中列出了学生的个人出勤历史记录。 但是,在指定路径时读取数据时遇到麻烦。 我已经搜索了各种解决方案,但似乎无法弄清楚。 有任何想法吗?
package com.example.android.teamnahhseproject;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.*;
public class attendance_history_student extends AppCompatActivity {
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference reference = database.getReference("teamnahh-7d81b/student_users/Alisha Tapiawala/classes/CS 3354_003");
String attendance_text;
TextView textBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_attendance_history_student);
textBox = findViewById(R.id.attendance);
reference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
attendance_text = postSnapshot.getValue(String.class);
textBox.append(attendance_text + "\n");
}
}
@Override
public void onCancelled(DatabaseError databaseError) { }
});
}
}
我正在尝试为“ CS 3354_003”打印所有子级
您可以执行以下操作:
ArrayList<String> presence = new ArrayList<String>();
DatabaseReference dbref = FirebaseDatabase.getInstance().getReference("student_users/Alisha Tapiwala/classes/CS3354_003");
ValueEventListener listener = new ValueEventListener() {
@Override
onDataChange(DataSnapshot dataSnapshot){
for( DataSnapshot children : dataSnapshot.getChildren(){
presence.add(children.child(" ").getValue(String.class));
//presence is now containing the values from the database.
}
}
};
dbref.addValueEventListener(listener);
抱歉,如果格式不正确,尤其是{}。 我在手机上做到了。 如果仍然收到错误,请查阅此文档 。 我希望这有帮助。
要解决此问题,请更改以下代码行:
DatabaseReference reference = database.getReference("teamnahh-7d81b/student_users/Alisha Tapiawala/classes/CS 3354_003");
至
DatabaseReference reference = database.getReference("student_users/Alisha Tapiawala/classes/CS 3354_003");
参考中不需要teamnahh-7d81b
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.