我正在編寫一個顯示餐廳和用戶評論的應(yīng)用程序。我想顯示評論,我有username、comment、date和user_photo。第一個問題是我應(yīng)該在審核文檔中保存用戶名還是 userId 嗎?第二個問題是如何顯示用戶的照片?我無法將其作為 URL 存儲在文檔中。因為如果用戶更改照片,審閱文檔中的照片不會發(fā)生更改。請注意,用戶的照片存儲在 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 中創(chuàng)建 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貢獻(xiàn)1847條經(jīng)驗 獲得超7個贊
第一個問題是我應(yīng)該在審核文檔中保存用戶名還是 userId 嗎?
肯定是uid
,因為它是獨一無二的。對于用戶名,它最終可能會發(fā)生沖突并嘗試使用相同的用戶名寫入兩個文檔。
第二個問題是如何顯示用戶的照片?我無法將其作為 URL 存儲在文檔中。
在大多數(shù)情況下,我們使用的庫可以幫助我們將圖像設(shè)置為視圖。為此我推薦你Glide。正如我在您的數(shù)據(jù)庫中看到的那樣,您已經(jīng)將“照片”網(wǎng)址存儲在文檔中,這是正確的方法。
添加Glide
依賴項后,請更改以下代碼行:
holder.photoImageView.setImageURI(???);
到
Glide.with(context).load(reviewObject.getPhoto()).into(holder.photoImageView);
添加回答
舉報
0/150
提交
取消