第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

控制 FirebaseStorage 中的用戶圖像

控制 FirebaseStorage 中的用戶圖像

動漫人物 2023-11-10 15:34:04
我正在使用 Firebase 在 Android 上制作社交應(yīng)用程序。每個用戶最多可以上傳三張圖像,這些圖像使用 FirebaseStorage 存儲。用戶添加照片的活動我使用用戶的唯一 ID 來命名照片。例如,用戶的照片將被稱為:userid_1.jpg、userid_2.jpg、userid_3.jpg我使用第一張圖片作為用戶的個人資料圖片。這一切都很好,但我想允許用戶刪除照片并添加新照片。例如,用戶有三張照片并刪除了第一張,所以現(xiàn)在 photo2 移動到 photo1 的位置,而 photo3 占據(jù) photo2 的位置。所以我可以很容易地在活動中得到這個效果:photo1ImageView.setImageDrawable(photo2ImageView.getDrawable()); photo2ImageView.setImageDrawable(photo3ImageView.getDrawable()); photo3ImageView.setImageResource(R.drawable.addphotoicon);但現(xiàn)在的問題是如何在 FirebaseStorage 中處理這個問題。顯然我是從刪除圖片開始的。FirebaseStorage.getInstance().getReference().child("images").child(userID + "_1.jpg").delete();然后我想做的就是重命名剩下的兩張圖片。所以刪除photo1后,userid_1.jpg消失,userid_2.jpg變成userid_1.jpg,userid_3.jpg變成userid_2.jpg但無法重命名 FirebaseStorage 中的文件。所以現(xiàn)在當(dāng)這個 Activity 下次加載時,它會將 photo2 放入第二個 ImageView 中,將 photo3 放入第三個 ImageView 中,將第一個 ImageView 留空。個人資料圖片 (userid_1.jpg) 也會丟失。這不是我想要的行為。我想到的另一種方法是:每當(dāng)刪除照片時,我都會刪除所有用戶的照片,并以正確的名稱重新上傳剩余的照片,但這在 Firebase 上效率非常低且不必要。我只是想知道是否有人能想出一種有效的方法來做到這一點(diǎn)。
查看完整描述

2 回答

?
米脂

TA貢獻(xiàn)1836條經(jīng)驗 獲得超3個贊

云存儲不太擅長維護(hù)上傳到其中的對象的順序。即使是大多數(shù)普通的計算機(jī)文件系統(tǒng)也無法做到這一點(diǎn)。

我建議放棄存儲將維護(hù)任何類型的順序或順序的想法,并將該邏輯完全移至數(shù)據(jù)庫或其他數(shù)據(jù)存儲中,這確實(shí)使您能夠輕松地訂購其中的項目。上傳到存儲的文件的名稱可以是隨機(jī)的 - 它們不需要任何含義。您只需要將它們的路徑存儲在數(shù)據(jù)庫的相關(guān)記錄中,并保持兩者同步即可。


查看完整回答
反對 回復(fù) 2023-11-10
?
呼如林

TA貢獻(xiàn)1798條經(jīng)驗 獲得超3個贊

你可以在這里應(yīng)用一個小技巧。

將您的用戶照片參考作為對象數(shù)組存儲到數(shù)據(jù)庫中。為您的照片創(chuàng)建一個模型類。可以是這樣的:


class UserPhoto {

    var photoRef: String? = null //Reference of your photo in Cloud Storage

    var downloadUrl: String? = null //This is optional, but very handy.

    var timestamp: Long? = null // In milseconds

    var order: Int = -1

}

這里你可以看到“時間戳”和“順序”是判斷照片是否是最新的關(guān)鍵。只需將此數(shù)據(jù)作為數(shù)組存儲在用戶文檔中即可。每張照片都會有這個數(shù)據(jù)。然后,您可以根據(jù)每個用戶照片的此數(shù)據(jù)模型將邏輯放入應(yīng)用程序/服務(wù)器中。


查看完整回答
反對 回復(fù) 2023-11-10
  • 2 回答
  • 0 關(guān)注
  • 131 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號