2014-09-12 29 views
0

我有一個將圖像存儲在mysql blob中的Java(JAX-RS)web服務。 使用GET請求獲取帶有圖像的JSON或XML。如何在Android上從java webservice獲取圖像

[{"id":1,"imagen":"iVBORw0KGgoAAAANSUhEUgAAAKAAAABfCAYAAABvC8zhAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAGO5JRE ...etc 

我的問題是: 這是個好主意來獲取JSON在我的Android應用程序和存儲文本仙變量?我怎樣才能從該文本創建一個位圖?會不會很慢? 謝謝

回答

1

你的問題的第一個答案是:絕對是的。 JSON是將數據與XML進行比較的更好方法。其次,從你的JSON String,它似乎像是Base64編碼。所以解析JSON和解碼Base64String使用BitmapFactory這樣的方式來獲得圖像Bitmap

byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT); 
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 

爲了解析JSON:

JSONArray jsonArray = new JSONArray(response); 
for(int i=0;i<jsonArray.length;i++){ 
    JSONObject jsonObj = jsonArray.getJSONObject(i); 
    String id = jsonObj.getString("id"); 
    String encodedString = jsonObj.getString("imagen"); 
    Log.i("DATA","Id: "+id); 
} 
+0

謝謝您的回答,我會嘗試這個 – 2014-09-12 11:08:52

相關問題