2013-12-16 72 views
0

我試圖將我的手機聯繫詳細信息發佈到json fromat中的網絡服務器,其中圖像以Base64格式編碼。在服務器端,圖像將作爲BLOB類型存儲在數據庫中。我試圖在列表視圖中檢索並顯示來自服務器的所有數據。我可以顯示除圖像以外的所有數據。如何通過解碼來自web服務器的圖像在列表視圖中顯示圖像?

下面是代碼:

編碼圖像:

ByteArrayOutputStream byteArrayBitmapStream = new ByteArrayOutputStream(); 
          bitmap.compress(Bitmap.CompressFormat.PNG, COMPRESSION_QUALITY, byteArrayBitmapStream); 
          byte[] b = byteArrayBitmapStream.toByteArray(); 
          String encodedImage = Base64.encodeToString(b, Base64.DEFAULT); 

jsonObject.accumulate("imageData",encodedImage); 

用於解碼圖像:

String image=(String)jsonObject.get("image"); 
byte[] byteArray = Base64.decode(jsonObject.getString("imageData").getBytes(), Base64.DEFAULT) ; 

Bitmap bmp1 = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length); 

HashMap<String, Object> map = new HashMap<String, Object>(); 
map.put(TAG_IMAGE,bmp1); 

請幫助我,以顯示listview.Thanks圖像。 ..

錯誤日誌:

12-16 12:07:58.403: E/BitmapFactory(1072): Unable to decode stream: java.io.FileNotFoundException: /[email protected]: open failed: ENOENT (No such file or directory) 
12-16 12:07:58.423: I/System.out(1072): resolveUri failed on bad bitmap uri: [email protected] 
+0

http://stackoverflow.com/questions/19767615/how-to-display-image-byte -array-from-json-into-imageview-factory-returns-nu –

回答

0

我想你應該下載lazy loader

這都將複雜的東西,爲您從網絡服務器顯示圖像

1

我想你應該使用Universal Image Loader for Android庫。

這將做所有複雜的東西讓你顯示圖像從web服務器與許多定製選項。

+0

感謝您的回答。但我沒有拍攝任何圖像網址..我將圖像作爲BLOB類型存儲在數據庫中。我怎樣才能不取回圖像的網址? – user2879697

相關問題