我正在用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”的所有子项
答案 0 :(得分:0)
这是您可以做的:
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);
很抱歉,如果格式不正确,尤其是{}。我在手机上做到了。如果您仍然收到错误,请检查this documentation。我希望这会有所帮助。
答案 1 :(得分:0)
要解决此问题,请更改以下代码行:
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
。