【发布时间】:2017-04-03 20:01:38
【问题描述】:
我在 Firebase 中创建了一个数据库,其规则如下:
{
"rules": {
".read": true,
".write": true
}
}
而我的数据库是以这样的 JSON 数据形式显示的:
fieldglass-aeca7
0
age: 23
name:"shikher"
1
age:24
name:"samarth"
fieldglass-aeca7
-KWm_3CF1pSVtuy9nhFF
age:12
name:"shikhermishra"
-KWmaVs4frXpS_1lVhcj
age:13
name: "Shiker"
现在我已经编写了一个代码来从数据库中读取数据。还有一个 User 类,它有 2 个数据成员 age,name。
用户类如下:
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class User {
public int age;
public String name;
public User(){
}
public User(int age,String name)
{
this.name=name;
this.age=age;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
}
而我的数据库获取代码是这样的:
FirebaseDatabase database=FirebaseDatabase.getInstance();
DatabaseReference reference=database.getReference("fieldglass-aeca7");
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User user=dataSnapshot.getValue(User.class);
Log.d("user info---@@*******",String.valueOf(user.getAge()));
assert tv != null;
assert tv1 != null;
tv.setText(String.valueOf(user.age));
tv1.setText(user.name);
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.d("The read failed",databaseError.getDetails());
}
});
我正在尝试获取年龄和姓名并将其显示在我拥有的 2 个TextViews 上。
但是我得到的输出是
user.age=0 and user.name=null.
我想获取里面存在的所有数据:
fieldglass-aeca7
......
fieldglass-aeca7
这个键值。
我想要显示上述路径中的所有数据。我怎样才能得到它?
【问题讨论】:
标签: android firebase firebase-realtime-database