1

我正在开发一个需要将图像存储在数据库中的应用程序。我已经通过将图像转换为字节来尝试它,但它的过程非常缓慢。有没有其他方法可以将图像存储在数据库中

4

3 回答 3

4

您可以将图像路径存储到数据库中并将图像存储在 sdcard 中并从数据库中的图像路径中检索图像

于 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 回答