2011-05-01 59 views
1

我的應用程序當前通過我的服務器請求包含一些文本和其他數據的JSON文件。我想添加功能,以便它也通過相同的文件下載非常小的圖像(如圖標)[無需創建額外的請求]。是否有可能這樣做,我將如何去做(base64?)在JSON中包含小圖像Android應用程序

回答

1

應該是非常合理的:看看http://developer.android.com/reference/android/util/Base64.html。您只需要:

  1. 將您的圖標讀取到服務器上的byte []數組中。
  2. (假設你的服務器在java中)使用類似http://iharder.sourceforge.net/current/java/base64/的東西,通過http://iharder.sourceforge.net/current/java/base64/api/index.html?Base64.OutputStream.html將byte []數組寫入StringOutputStream。
  3. 將String的內容添加到JSON文件。
  4. 在Android設備上調用http://developer.android.com/reference/android/util/Base64.html#decode%28java.lang.String,%20int%29將JSON屬性轉換爲byte []數組。
  5. 然後,您可以將字節數組傳遞給http://developer.android.com/reference/android/graphics/BitmapFactory.html#decodeByteArray%28byte[],%20int,%20int,%20android.graphics.BitmapFactory。選項%29或它的一個同類功能(你可能需要使用圖像格式/編碼來讓它正確地吞噬你的字節數組)。

瞧!你有一個你可以使用的位圖。

讓我知道如何解決。

+0

完美的工作:除了base64只有2.2 +。任何想法較低的版本? – yydl 2011-05-01 16:58:11

+0

iharder庫是可用的:據我所知(我沒有在Android上構建它)它應該工作得很好。它具有http://iharder.sourceforge.net/current/java/base64/api/index.html?Base64.InputStream.html,您可以將其提供給ByteArrayOutputStream以獲得相同的效果。 – Femi 2011-05-01 16:59:38

相關問題