2016-07-14 147 views
1

我在存儲頭像時遇到問題。我的應用程序獲得用戶的細節與圖像(圖像在字節[]數組)。如何將這些圖像存儲在我的應用程序中?我的意思是我應該將每個用戶的圖像保存在內部還是外部存儲器中?或者我應該及時使用這個圖像並設置爲ImageView?什麼是我的問題的最佳解決方案?Android:在哪裏以及如何在應用中存儲圖像?

感謝您的幫助:)

+0

您可以將數據保存到sharedpreferences中。 – comeback4you

+0

你已經試過了什麼,爲什麼它沒有工作?化身經常變化嗎?它只是關於一個用戶的頭像或圖像的胡扯嗎?化身從哪裏來?一個有多大? 沒有什麼「最佳解決方案」總是最好的,這很大程度上取決於你想要做什麼。 – Gumbo

+0

您可以加密到Base64並保存到數據庫,數據類型爲BLOB。 –

回答

0

先轉換成字節數組轉換爲位圖

Bitmap bitmap = BitmapFactory.decodeByteArray(bitmapdata , 0, bitmapdata .length); 

和存儲位圖到外部存儲爲文件

Convert Bitmap to File

+0

謝謝。但是,如果我的應用使用1千萬用戶,那麼它將佔用我存儲空間的很多空間?我對嗎? – Magnus2005

+0

是的,它會佔用很多空間。大多數新應用程序從服務器上下載內容,很少在本地存儲信息。在你的情況下,你可以將用戶最喜歡的聯繫人和他們的頭像存儲在設備上或緩存最近的。這取決於應用邏輯。 – Seagull

0

有在存儲的優點和缺點圖像在內部存儲。它也很大程度上取決於您的應用程序的業務邏輯。在android文檔here中有很好的解釋。

內部存儲

  1. 它總是可用。

  2. 保存在這裏的文件只能通過您的應用訪問。

  3. 當用戶卸載您的應用程序時,系統會從內部存儲中刪除所有應用程序的文件。

外部存儲

  1. 這並不總是可用的,因爲用戶可以安裝外部存儲的USB存儲設備,在某些情況下,從設備中刪除。

  2. 它是世界上可讀的,因此保存在這裏的文件可能會在您的控制之外被讀取。 當用戶卸載您的應用程序時,僅當您將應用程序的文件從getExternalFilesDir()保存到目錄中時,系統纔會從這裏刪除應用程序的文件。

相關問題