我没有从Firebase数据库获得输出。它没有返回任何东西。这是我的数据结构。
我也尝试通过查询获取价值,但返回数据库错误:
无法将java.util.hashmap转换为String
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference().child("Member").push();
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
String value = ds.getValue(String.class);
Log.d("Tag", "Value is" + value);
}
}
JSON:
{
"Member" : {
"-LhKJVG1Tj2628sHPg4D" : {
"age" : "21",
"name" : "Gagan",
"nickname" : "Gaggi"`enter code here`
},
"-LhKKaNFnPrrh1bQNPfH" : {
"age" : "18",
"name" : "Jashan",
"nickname" : "Jassi"
}
}
}
答案 0 :(得分:1)
您不能使用String.class调用getValue,因为它不满足方法调用的条件。
从文档中
public T getValue(Class valueType)
此方法用于将快照中包含的数据编组到您选择的类中。该类必须符合2个简单的约束: 该类必须具有不带参数的默认构造函数 该类必须为要分配的属性定义公共获取方法。反序列化实例时,没有公共获取器的属性将设置为其默认值 一个示例类可能看起来像:
class Message {
private String author;
private String text;
private Message() {}
public Message(String author, String text) {
this.author = author;
this.text = text;
}
public String getAuthor() {
return author;
}
public String getText() {
return text;
}
}
// Later
Message m = snapshot.getValue(Message.class);
答案 1 :(得分:0)
您可以使用 String 类
FILE