Ожидается список при десериализации, но получил класс java.util.hashmapAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Ожидается список при десериализации, но получил класс java.util.hashmap

Сообщение Anonymous »

Я пытаюсь получить список пользователей из Firebase, в Android. < /p>

< /p>

Я уже есть все, что можно использовать, и это будет использовать, и это можно использовать. UUID - это и имя узла, и поле внутри пользовательского узла (конечно, идентично). < /P>

Вот мой код: < /p>

DatabaseReference usersRef = FirebaseDatabase.getInstance().getReference("users");
Query query = usersRef.orderByChild("uuid").equalTo(animalMarker.getUserUid());
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
Log.d(TAG, "onDataChange: xxxxxxxx---- entered onDataChange");

// go to node "users/userUID" , becuase dataSnapshot is parent node
for (DataSnapshot ds : dataSnapshot.getChildren()) {
Log.d(TAG, "xxxxxxxx---- onDataChange: ds= " + ds);
User user = ds.getValue(User.class);
Log.d(TAG, "xxxxxxxx---- onDataChange: user=" + user);
// createdByTV.setText("Created by \n" + user.getEmail());
}

}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {

}
});
< /code>

Я не знаю, будет ли «ожидаемый список ожидаемого, но получил хэшмап», поступает из самого самого наборов данных, или из списка животных внутри пользователя (в классе пользователя есть полевые животные) < /p>

Я уже проверил этот аналогичный вопрос. и несколько других, но я до сих пор не могу понять, что не так. Хотя получение всего объекта пользователя не является необходимым, я классах относительно того, как это будет сделано, так как мне не удается сделать ни один из них. < /p>

Изменить: вот мой пользовательский класс < /p>

public class User {

private String uuid;
private String email;
private String name;
private List friends;
private List animals;

public User() {
}

public User(String email, String name) {
this.email = email;
this.name = name;
}

public User(String uuid, String email, String name) {
this.uuid = uuid;
this.email = email;
this.name = name;
}
... // getters and setters, toString and other such
}
< /code>

При попытке получить пользователя, у которого нет узла животных, все работает нормально. Но при попытке получить пользователя с узлом животных внутри, приложение вылетает.

Подробнее здесь: https://stackoverflow.com/questions/556 ... il-hashmap
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»