web-dev-qa-db-ja.com

byte []からイメージへandroid

私の問題は次のとおりです。ブロブ形式を使用して、いくつかの写真をsqliteデータベースに保存しましたが、問題なく動作するようです。今、私は自分の写真をDBから取り出して画像に戻したいと思っています...問題を複雑にするために、それらの形式は可変です(png、jpg、多分何か、よくわからない)そうする方法はありますかアンドロイド?

ありがとうございました

20
Sephy

BitmapFactory.decodeByteArray() メソッドを使用します。

byte[] blob=c.getBlob("yourcolumnname");
Bitmap bmp=BitmapFactory.decodeByteArray(blob,0,blob.length);
ImageView image=new ImageView(this);
image.setImageBitmap(bmp);

this スレッドも見てください。

50
systempuntoout
4
Daniel Lew

私はバイトの配列を直接Drawableに変換することを好みます。 Androidで使用するのに最適な形式です。ビットマップは過去にリークを生成しました。

Drawable d = Drawable.createFromStream(new ByteArrayInputStream(ARRAY_BYTES), null);
3