我试图获取我的firebase树的值
我上了一堂课get_categories
public class get_categories {
private String Name;
public get_categories(){
}
public String getName(){
return Name;
}
}
然后我宣布了火焰基地
mRef = new Firebase("https://...../Users/Categories");
尝试使用OnChildEventListener
检索我的数据mRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Log.e("Count " ,""+dataSnapshot.getChildrenCount());
//Log.e("VALUES " ,""+dataSnapshot.child("Details").getValue());
get_categories getCatName = dataSnapshot.child("Details").getValue(get_categories.class);
Log.e("NAME " ,""+getCatName.getName());
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
但我收到了错误
引起:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段"名称" (类com.app.pierre.myapp.get_categories),未标记为可忽略(0已知属性:])[来源:java.io.StringReader@9d0f705; line:1,column:10](通过引用链:com.app.pierre.myapp.get_categories [" Name"])
我做错了什么?
我用这个案例作为参考: https://www.firebase.com/docs/android/guide/retrieving-data.html
答案 0 :(得分:1)
首先像这样更改你的模型,
2 6
3 4 < y_min for x = 3
3 5 <
3 10 <
3 12 < y_max for x = 3
3 25
5 1
5 5 < y_min and y_max for x = 5
5 15
6 6 < y_min and y_max for x = 6
6 20
8 0
使用Model类构造函数推送数据..
public class GetCategories {
private String Name;
public GetCategories(){
}
public GetCategories(String name){
this.Name = name;
}
public String getName(){
return Name;
}
}
现在你可以这样做..
GetCategories model = new GetCategories("yourValues");
mReference.child("Details").push().setValue(model);
答案 1 :(得分:1)
JSON上的属性名称以大写字母开头。但是根据JavaBean属性的规则,getName()
对应于名为name
的属性(带有小写的n)。所以两者不匹配。
实现这一目标的一种方法是不使用setter,而是使用公共字段:
public class get_categories {
public String Name;
}
通过这种方式,您可以绕过JavaBean逻辑并获得直接映射。