0
この質問に繰り返しを付ける前に、私のケースを見てください。私はこの質問に関する参考文献のほとんどを熟読してきたが、私のためには役に立たなかった。私が持っている私のMainActivity.java
で次にBase64文字列をAndroidのビットマップイメージにデコードする方法
public class Parameter {
...
//This is retrieved from a RESTful URL as xml and nicely mapped into this field
public String image_icon_data = "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";
public Bitmap getImageIcon() {
if(image_icon_data!=null) {
byte[] image_data = Base64.decode(image_icon_data, Base64.NO_WRAP);
return BitmapFactory.decodeByteArray(image_data, 0, image_data.length);
}
return null;
}
...
}
:
ImageView imageView_parameter_icon = (ImageView)findViewById(R.id.imageView_parameter_icon);
imageView_parameter_icon.setImageBitmap(parameter.getImageIcon());
そして、私は何を取得!!ここで
は、私は私のSAXモデルに持っているものです
したがって、decodeByteArrayはnullを返しました。それは容易に起こり得る。いくつかの数字を投稿する必要があります。 base64文字列の長さ。バイト配列の長さ。含まれる画像の解像度。 – greenapps
@greenapps私はそれを理解した!私は 'BitmapFactory.Options'を設定して、期待されるMIMEタイプと出力イメージの解像度を指定する必要がありました。 –