我使用web服務來獲取圖像。服務響應包含base64Binary格式的圖像。我嘗試使用Base64.decode()(http://iharder.sourceforge.net/current/java/base64/)解碼響應數據。見下面我的代碼:Android:從base64binary格式獲取圖像
byte[] data = Base64.decode(responseString);
Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length);
imageView.setImageBitmap(bmp);
decodeByteArray總是返回null。
我嘗試在.png文件中保存數據。我可以在我的電腦和Android文件管理器應用程序中打開這個文件。但是文件管理器的預覽活動無法打開這個文件。
然後,我嘗試使用.NET客戶端與Convert.Base64()方法解析此數據。這張圖片已經成功處理。然後我比較用Android客戶端和.NET客戶端創建的圖像中的字節數組。差異是以字節爲單位的。 .NET使用無符號字節,但Java僅使用帶符號字節。這是我的問題的原因嗎?
是否有人在解碼base64Binary時遇到同樣的問題?
你確定`responseString`和'data`不爲null嗎? – user432209 2011-02-03 16:55:03