Android 摄像头和在SQL数据库中保存图像
我想打开相机再点击一下。很好用。现在拍完照片后,我不想把那张照片保存在画廊里。我想将该图片保存在sql数据库中要在数据库中插入图像,请编写以下代码:Android 摄像头和在SQL数据库中保存图像,android,Android,我想打开相机再点击一下。很好用。现在拍完照片后,我不想把那张照片保存在画廊里。我想将该图片保存在sql数据库中要在数据库中插入图像,请编写以下代码: public class CameraHandler implements PictureCallback { ..... @Override public void onPictureTaken(byte[] data, Camera camera) { insertImageInDB(data); } public void
public class CameraHandler implements PictureCallback {
.....
@Override
public void onPictureTaken(byte[] data, Camera camera) {
insertImageInDB(data);
}
public void insertImageInDB(byte[] theImageBytes){
SQLiteDatabase db = dbHelper.getWritableDatabase();
String sql = "INSERT INTO MY_IMAGES (image_id,other_data,the_image) VALUES(?,?,?)";
SQLiteStatement insertStmt = db.compileStatement(sql);
insertStmt.bindString(1, id);
insertStmt.bindString(2,otherData);
insertStmt.bindBlob(3, theImageBytes);
insertStmt.executeInsert();
db.close();
}
}
你想在数据库中存储整个图片而不是它的路径,有什么原因吗?我想存储一些其他值,比如图片的拍摄位置,照片中的朋友。等等。不,将整张照片保存在数据库中并不困难。我可以将其存储在gallery中,但我必须在gallery中创建一个单独的文件夹。我已将答案的片段放在gallery中,希望它们能帮到我,但我仍然认为最好的解决方案是在gallery中创建一个文件夹,并将路径放在DB@user1950815:假设您将使用内置的SQLite功能,我建议不要将整个图像存储在数据库中。我同意Dany的观点,您应该将图像保存到内部或外部存储器中,只需将图像文件的路径放入数据库中即可。如果您不希望这些图像出现在stock Gallery应用程序中,请在存储它们的文件夹中创建一个名为
.nomedia
的空文件。