0

データベースに画像を保存できるデータ型はBLOBだけですか?BLOBを使用する利点は何ですか?BLOBデータ型の移植性はどうですか?画像の保存に基づいたチュートリアルを教えてください.

4

2 に答える 2

1

バイトをBlob型の列に格納する以外に、バイトを文字列に変換し、Base64その文字列を単純にText型の列に格納する方法もあります。移植性に関しては、どちらが優れているかを決定し、好みます。個人的には、バイトよりも文字列で遊ぶのが好きです :)

画像を Base64 文字列に変換するには:

ByteArrayOutputStream stream = new ByteArrayOutputStream();
mBitmap.compress(Bitmap.CompressFormat.JPEG, 80, stream);
final byte[] byteArray = stream.toByteArray();
final String imgString = Base64.encodeToString(byteArray, Base64.DEFAULT);

Base64 文字列を画像に変換するには:

byte[] byteArray = Base64.decode(imgString, Base64.DEFAULT);
Bitmap mBitmap = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
于 2012-05-25T06:04:13.777 に答える
0

画像を保存する代わりに、その画像のバイト配列をDBに保存できます。その画像をバイト配列に変換してdbに保存できます。その画像を取得したい場合は、そのバイト配列をビットマップに変換してバイト配列を取得します、あなたのイメージを取得します。

http://www.coderanch.com/t/550604/Android/Mobile/Help-insert-retreive-image-database

于 2012-05-25T05:55:25.367 に答える