Мое android приложение аварийно завершает работу при запуске из-за небольшой ошибки в моей серверной части, которая находится в базе данных Firebase. Документ в моей базе данных firestore имеет поле, в котором ожидается объект Image (id и url), но по какой-то причине он хранится в базе данных как long.
Я получаю эту ошибку:
java.lang.RuntimeException: Could not deserialize object. Can't convert object of type java.lang.Long to type com..data.entity.gps.tracker.ImageEntity
Мой класс ImageEntity:
public class ImageEntity {
private int id;
private String image_id;
public String getImage_id() {
return image_id;
}
public void setImage_id(String image_id) {
this.image_id = image_id;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
Я не могу просто исключить объект ImageEntity для обложки, это неотъемлемая часть моего приложение, как я могу добавить шаг проверки, чтобы проверить, является ли объект обложки действительным и не длинным?
Вот где происходит cra sh:
public List<Model> mapList(QuerySnapshot querySnapshot) {
List<Model> list = new ArrayList<>();
for (QueryDocumentSnapshot queryDocumentSnapshot : querySnapshot) {
Model model = map(queryDocumentSnapshot);
long id = ((Release) model).getId();
if (!addedReleasesIDs.contains(id)) {
list.add(model);
addedReleasesIDs.add(id);
}
}
return list;
}
public Model map(QueryDocumentSnapshot queryDocumentSnapshot) {
// Auto serialization
Entity entity = queryDocumentSnapshot.toObject(getEntityClass()); // CRASH HERE
return map(entity);
}