我在圖像視圖中顯示個人資料照片,該圖像與具有Volley Post請求的網站中的用戶詳細信息一起顯示。我脫機預覽功能工作在SQLite數據庫中保存base64 encdoed圖像VS將圖像保存在手機/存儲卡上
(所有搜索歷史,將顯示配置文件數據與輪廓圖像脫機工作)我不知道,什麼是做的最好的方法:通過保存編碼
- SQLite數據庫中的字符串和需要時拉和解碼?
- 通過將解碼圖像保存在手機或SD卡存儲器上?
如果有人也分享兩種情況下的優點和缺點(如表現和資源問題),那將會很棒。
我在圖像視圖中顯示個人資料照片,該圖像與具有Volley Post請求的網站中的用戶詳細信息一起顯示。我脫機預覽功能工作在SQLite數據庫中保存base64 encdoed圖像VS將圖像保存在手機/存儲卡上
(所有搜索歷史,將顯示配置文件數據與輪廓圖像脫機工作)我不知道,什麼是做的最好的方法:通過保存編碼
如果有人也分享兩種情況下的優點和缺點(如表現和資源問題),那將會很棒。
我認爲這是比較容易的圖像存儲在文件系統中,在應用程序的專用區域,如果你需要一些相關的數據的圖像,只是存儲的文件名作爲數據庫中的字段。
處理BLOB字段需要大量的樣板代碼,我不認爲這樣做有很多好處。
謝謝@Juan我會將文件存儲在手機內存中,而不是數據庫。 –
Picasso是管理您的方案的最佳方法。
首先,您不必使用「排空發佈」請求獲取圖像詳細信息。你只需要傳遞給畢加索的網址,它會管理你,你。
其次,由於畢加索已擁有自己的緩存功能,因此您也不需要在本地爲緩存功能存儲圖像數據。
這裏是你如何可以畢加索庫添加到您的項目
首先,通過搖籃下載最新的JAR或搶:
compile 'com.squareup.picasso:picasso:2.5.2'
然後獲取圖像,並添加圖像的ImageView
Picasso.with(context)
.load(imageUrl)
.networkPolicy(NetworkPolicy.OFFLINE)
.
.into(imageView, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
//Try again online if cache failed
Picasso.with(context)
.load(getImageUrl())
.error(R.drawable.header)
.into(imageView, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
Log.v("Picasso","Could not fetch image");
}
});
}
});
這是完整的implementation
感謝您的想法,但我不想涉及另一個圖書館。 :) –
檢查此https:// stackoverflow .com/questions/13827412/save-image-in-sqlite-database-from-android –