私は画像を取得するために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ファイルに保存しようとしています。自分のPCとAndroid File Managerアプリケーションでこのファイルを開くことができます。しかし、ファイルマネージャのプレビューアクティビティでこのファイルを開くことはできませんでした。
次に、このデータを.NETクライアントを使用してConvert.Base64()メソッドで解析しようとします。そして、この画像はうまく処理されています。次に、アンドロイドクライアントと.NETクライアントで作成されたイメージのバイト配列を比較します。違いはバイトの符号であった。 .NETでは符号なしバイトが使用されますが、Javaでは符号付きバイトのみが使用されます。これは私の問題の理由ですか?
誰もbase64Binaryのデコードで同じ問題がありますか?ここで
'responseString'、したがって' data'はnullではありませんか? – user432209
もちろん、私は確信しています。 dataとresponseStringはnullではありません。 – Ramoz