データベースに画像を保存する必要があるアプリケーションに取り組んでいます。画像をバイトに変換してみましたが、プロセスが非常に遅いです。画像をデータベースに保存する他の方法はありますか
質問する
289 次
3 に答える
4
画像パスをデータベースに保存し、画像をSDカードに保存して、データベースから画像パスから画像を取得できます
于 2013-06-05T11:18:13.887 に答える
1
画像形式のSDカードを取得
if (requestCode == SD_REQUEST) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
Bitmap yourSelectedImage = BitmapFactory.decodeFile(filePath);
testimage.setImageBitmap(yourSelectedImage);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
yourSelectedImage.compress(Bitmap.CompressFormat.PNG, 100, stream);
byteArray = stream.toByteArray();
}
画像を保存
DatabaseAdapter dbHelper = new DatabaseAdapter(Profiles.this);
dbHelper.open();
dbHelper.createUserProfiles( byteArray);
dbHelper.close();
今 DatabaseAdapter.java に
定義
public static final String U_PIC = "picture";
それで
private long createUserTableContentValues(long id,byte[] byteImage) {
ContentValues values = new ContentValues();
values.put(ID, id);
values.put(U_PIC, byteImage);
return database.insert(IMAGE_INSERT, null, values);
}
于 2013-06-05T11:21:00.597 に答える
0
画像パスをデータベースに文字列形式で保存できます..
于 2013-06-05T11:18:26.170 に答える