繁体   English   中英

在Android Studio中从Firebase读取多个孩子

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM