使用R.id.image将图像保存在imageView中而不是将R.drawable.image保存到数据库中

时间:2013-03-28 08:10:06

标签: android android-imageview

我想使用R.id而不是R.drawable将ImageView中的图像保存到数据库,因为图像可以更改(因为它是相机图片)。 l无法使用图像的路径进行保存,因为图库可能会被篡改。

HotOrNot entry = new HotOrNot(this);  
byte[] image4 = HotOrNot.getBytes(BitmapFactory.decodeResource(null, R.id.imageView2));
entry.open();
entry.createEntry(image4);
entry.close();

public static byte[] getBytes(Bitmap bitmap) {
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bitmap.compress(CompressFormat.PNG, 0, stream);
    return stream.toByteArray();
}

2 个答案:

答案 0 :(得分:0)

R.id..表示的是来自项目预编译资产的资源类型的id。我不认为您可以获得使用相机拍摄的图像的id值。

另请注意,R.id..的类型为int。

我知道以上不是答案。如果您想使用相机拍摄图像并将其保存在数据库中,请在SO中查看this问题。希望它有所帮助。

答案 1 :(得分:0)

您需要了解,R.drawable.image是实际图片的IDR.id.imageView2ID的{​​{1}}。

您的论点是您要存储的图片可能会发生变化。因此,在这种情况下,您可以使用ImageView,以便在yourImageView.getDrawable()中获取当前图像,然后使用此

将其转换为ImageView
Bitmap