亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 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 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號