Android 如何在sqlite数据库中保存并检索捕获的图像路径

Android 如何在sqlite数据库中保存并检索捕获的图像路径,android,sqlite,android-listview,Android,Sqlite,Android Listview,我对这个安卓工作室还是新手。我一直在寻找适合我当前应用的编码。不幸的是,我找不到一个我能理解或与我的应用程序相关的 我想创建一个摄像头按钮来捕获图像,图像的路径将保存在sqlite数据库中。在同一活动中,我希望以ListView的形式显示图像 现在我只能在MainActivity内调用摄像头功能 public void btnAmbilGambar (View view) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTU

我对这个安卓工作室还是新手。我一直在寻找适合我当前应用的编码。不幸的是,我找不到一个我能理解或与我的应用程序相关的

我想创建一个摄像头按钮来捕获图像,图像的路径将保存在sqlite数据库中。在同一活动中,我希望以
ListView
的形式显示图像

现在我只能在
MainActivity
内调用摄像头功能

public void btnAmbilGambar (View view) {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    File file = new File(Environment.getExternalStorageDirectory(), "MyPhoto.jpg");
    OutputFileUri = Uri.fromFile(file);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, OutputFileUri);
    startActivityForResult(intent, takePic);
}

@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
    if (requestCode == takePic && resultCode==RESULT_OK){
        Message.message(this, OutputFileUri.toString());
    }

}
下面的编码是在我的数据库中插入图像的方法

public long insert(Bitmap img ) {

    SQLiteDatabase db=helper.getWritableDatabase();
    byte[] data = getBitmapAsByteArray(img); // this is a function
    ContentValues value=new ContentValues();
    value.put("pic",data);

    long a= db.insert("mypic", null, value);

    return a;
}

public static byte[] getBitmapAsByteArray(Bitmap bitmap) {

    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.PNG, 0, outputStream);
    return outputStream.toByteArray();
}

当我运行应用程序时,没有错误,但我不知道如何将图像保存到数据库中。我需要编码如何调用
insert()
方法,然后如何以
ListView
的形式显示图像。如果有人能给我一个编码的样本,可以完成我的编码将不胜感激

对于listview的数据库存储,感谢您的回复。我已经有了数据库。那么图像路径呢?这也是同样的方法吗?我的建议就是把你的图片id(名称)放到数据库中,并维护你的应用程序路径,你可以在其中保存所有图片。