こんにちは私はBase64形式の文字列を持っています。ビットマップを変換してImageViewに表示したいと思います。これはコードですAndroidはビットマップから画像ビューへ
ImageView user_image;
Person person_object;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.user_profile_screen);
// ImageViews
user_image = (ImageView) findViewById(R.id.userImageProfile);
Bundle data = getIntent().getExtras();
person_object = data.getParcelable("person_object");
// getPhoto() function returns a Base64 String
byte[] decodedString = Base64.decode(person_object.getPhoto(), Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
user_image.setImageBitmap(decodedByte);
}
このコードはBase64文字列を正常に取得しますが、エラーは発生しません。しかし、画像は表示されません。 何が問題なのですか?効率的にURLから画像を読み込むことができピカソというライブラリがあり
byte[] decodedString = Base64.decode(person_object.getPhoto(),Base64.NO_WRAP);
InputStream inputStream = new ByteArrayInputStream(decodedString);
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
user_image.setImageBitmap(bitmap);
plsこの行を追加してみてください:user_image.setScaleType(ScaleType.FIT_XY); – KEYSAN
リソースイメージでは機能しますか?たとえば、 'iuser_image.setImageResource(android.R.drawable.ic_delete)'と書くと、何かが表示されますか? – vorrtex