我正在编写一个显示餐厅和用户评论的应用程序。
我想显示评论,我有username
、comment
和。date
user_photo
第一个问题是我应该在审阅文档中保存 username 还是 userId ?
第二个问题是如何显示用户的照片?我不能将它作为 URL 存储在文档中。
因为如果用户更改照片,它不会在审阅文档中更改。请注意,用户的照片存储在 Firestore 存储中。
解决此问题的最佳做法是什么?
AdapterReview.java
public class AdapterReview extends FirestoreRecyclerAdapter<ReviewModel, HolderReviews>{
public AdapterReview(@NonNull FirestoreRecyclerOptions<ReviewModel> options) {
super(options);
}
@Override
protected void onBindViewHolder(@NonNull HolderReviews holder, int i, @NonNull ReviewModel reviewObject) {
holder.usernameTextView.setText(reviewObject.getUsername());
holder.dateTextView.setText(reviewObject.getDate());
holder.commentTextView.setText(reviewObject.getComment());
holder.photoImageView.setImageURI(???);
}
@NonNull
@Override
public HolderReviews onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_adapter, parent, false);
return new HolderReviews(view);
}
}
这个在 MainActivity.java 中创建 firestore recyclerview 的方法
private void fireStoreRecyclerViews( ) {
Query query = db.collection("reviews");
FirestoreRecyclerOptions<ReviewModel> options = new FirestoreRecyclerOptions.Builder<ReviewModel>()
.setQuery(query, ReviewModel.class)
.build();
adapterReview = new AdapterReview(options);
RecyclerView recyclerView = view.findViewById(R.id.recyclerView);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this);
recyclerView.setAdapter(adapterReview);
}