我有以下结构
root
-sections
-section1
-student1
-GPA
-lastname
-student2
-GPA
-lastname
-section2
-student1
-GPA
-lastname
我需要得到用户所需学生的 GPA 。
我这样做:
String student = student.getText().toString(); //Student1/Student2 entered
String section = section.getText().toString();
//This is Section1, Student1, say (obtained from EditText)...
然后我正在做
myref = FirebaseDatabase.getInstance().getReference().child("sections");
myref1 = myref.child(section).child(student).child("GPA");
myref1.addValueEventListener(new ValueEventListener() {
public void onDataChange(DataSnapshot dataSnapshot) {
String gpa = dataSnapshot.getValue().toString();
}
public void onCancelled(DatabaseError databaseError) {}
});
我的结果是0.0。
我哪里错了?
答案 0 :(得分:0)
通常,用户需要在可以读取或写入数据库之前进行身份验证。您是否在控制台中禁用了规则或某些用户是否已登录?
您可以在此图片中看到规则标签:https://www.novoda.com/blog/content/images/2016/06/Screenshot_20160621_174302.png
修改强>
代码似乎很好,也许键“部分”和“学生”有问题。您可以使用硬编码字符串对其进行测试。