Я пытался создать приложение с помощью Firebase Firestore, но после получения данных на SnapshotListener
оно не сопоставляется с моей моделью.
Вот мой Model
класс
public class BlogPost {
private String description;
private String image;
private String user_id;
private String thumbnail_url;
private Timestamp timestamp;
public BlogPost() {
}
public BlogPost(String description, String image, String user_id, String thumbnail_url, Timestamp timestamp) {
this.description = description;
this.image = image;
this.user_id = user_id;
this.thumbnail_url = thumbnail_url;
this.timestamp = timestamp;
}
public String getImageUrl() {
return image;
}
public void setImageUrl(String image) {
this.image = image;
}
public String getUserId() {
return user_id;
}
public void setUserId(String user_id) {
this.user_id = user_id;
}
public String getThumbnailUrl() {
return thumbnail_url;
}
public void setThumbnailUrl(String thumbnail_url) {
this.thumbnail_url = thumbnail_url;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Timestamp getPostTime() {
return timestamp;
}
public void setPostTime(Timestamp timestamp) {
this.timestamp = timestamp;
}
}
Для добавления данных я использую этот код:
firestore.collection("posts").addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {
for (DocumentChange doc : queryDocumentSnapshots.getDocumentChanges()){
if (doc.getType() == DocumentChange.Type.ADDED){
BlogPost blogPost = doc.getDocument().toObject(BlogPost.class);
blogList.add(blogPost);`
blogRecyclerAdapter.notifyDataSetChanged();
}
}
}
});
Вот то, что я объект после сопоставления
BlogPost {description = 'post 6', image = 'null ', user_id =' null ', thumbnail_url =' null ', timestamp = null}
Вот скриншот структуры базы данных
Как видите, описание сопоставлено, но все остальные поля пусты. Любая помощь будет оценена.