Я пытаюсь извлечь данные из Firebase. Название внутри ИнфоAndroid Firebase возвращает ребенка ребенка
Это мое дерево из лузги.
Я уже сделал это
Firebase ref = new Firebase("https://link.firebaseio.com/Users/xxxxxxxx/Categories/drinks/");
Затем я создал свой слушатель
ref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Log.e("TOTAL ITEM " ,""+ dataSnapshot.getChildrenCount());
for (DataSnapshot eventSnapshot : dataSnapshot.getChildren()) {
//Item_Get_List newPost = eventSnapshot.child("Info").getValue(Item_Get_List.class);
System.out.println("GetChildren: "+eventSnapshot.child("Info"));
System.out.println("details: "+eventSnapshot.child("Info").getValue());
}
Я получил это в консоли:
E/TOTAL ITEM: 2
I/System.out: GetChildren: DataSnapshot { key = Info, value = null }
I/System.out: details: null
I/System.out: GetChildren: DataSnapshot { key = Info, value = null }
I/System.out: details: null
E/TOTAL ITEM: 2
I/System.out: GetChildren: DataSnapshot { key = Info, value = null }
I/System.out: details: null
I/System.out: GetChildren: DataSnapshot { key = Info, value = null }
I/System.out: details: null
E/TOTAL ITEM: 1
I/System.out: GetChildren: DataSnapshot { key = Info, value = {name=Pierre} }
I/System.out: details: {name=Pierre}
Но если я хочу сделать
Item_Get_List newPost = eventSnapshot.child("Info").getValue(Item_Get_List.class);
System.out.println("Name: "+newPost.getName());
Я получил эту ошибку
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.app.pierre.myapp.Item_Get_List.getName()' on a null object reference
Мой класс Item_Get_list выглядит следующим образом:
public class Item_Get_List {
private String name;
public Item_Get_List(){
}
public Item_Get_List(String name){
this.name = name;
}
public String getName(){
return name;
}
}
То, что я сделал неправильно ??
Заранее спасибо
UPDATE Я нашел одно временное решение, делая
if(eventSnapshot.child("Info").getValue() != null){
System.out.println("Name: "+newPost.getName());
}
Но это только временно, потому что я знаю, что я делаю что-то здесь не так. = (
Я просто попытался , но по-прежнему возникают те же ошибки, а также все еще GetChildren: DataSnapshot {key = name, value = null} на консоли. – Pierre
Эй, это на самом деле не настоящая ошибка. Вы используете это в проекте java или проекте Android?. Потому что, если вы используете в android, я бы не стал считать это ошибкой, если ваш лог-код не показывает ошибку. Это ваша обычная проверка отладки. –
Я использую android, но я имею в виду, что я все еще получил: java.lang.NullPointerException: попытаться вызвать виртуальный метод 'java.lang.String com.app.pierre.myapp.Item_Get_List.getName()' для ссылки на нулевой объект, если Я добавляю System.out.println ("Name:" + newPost.getName()); – Pierre