为了账号安全,请及时绑定邮箱和手机立即绑定

在 Firestore 中显示用户的照片

在 Firestore 中显示用户的照片

胡说叔叔 2023-07-28 15:22:53
我正在编写一个显示餐厅和用户评论的应用程序。我想显示评论,我有username、comment、date和user_photo。第一个问题是我应该在审核文档中保存用户名还是 userId 吗?第二个问题是如何显示用户的照片?我无法将其作为 URL 存储在文档中。因为如果用户更改照片,审阅文档中的照片不会发生更改。请注意,用户的照片存储在 Firestore Storage 中。解决这个问题的最佳实践是什么?AdapterReview.javapublic class AdapterReview extends FirestoreRecyclerAdapter<ReviewModel, HolderReviews>{public AdapterReview(@NonNull FirestoreRecyclerOptions<ReviewModel> options) {    super(options);}@Overrideprotected 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@Overridepublic 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);}
查看完整描述

1 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

第一个问题是我应该在审核文档中保存用户名还是 userId 吗?

肯定是uid,因为它是独一无二的。对于用户名,它最终可能会发生冲突并尝试使用相同的用户名写入两个文档。

第二个问题是如何显示用户的照片?我无法将其作为 URL 存储在文档中。

在大多数情况下,我们使用的库可以帮助我们将图像设置为视图。为此我推荐你Glide。正如我在您的数据库中看到的那样,您已经将“照片”网址存储在文档中,这是正确的方法。

添加Glide依赖项后,请更改以下代码行:

holder.photoImageView.setImageURI(???);

Glide.with(context).load(reviewObject.getPhoto()).into(holder.photoImageView);


查看完整回答
反对 回复 2023-07-28
  • 1 回答
  • 0 关注
  • 69 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信