Хранение и извлечение Uri из sqlite

Я начинающий разработчик, и в настоящее время я работаю над приложением, в котором часть функциональности позволяет пользователям захватывать изображения, сохранять их в приложении ».с файловой системой и сохраните ее ссылку в столбце базы данных SQLite. Затем пользователь сможет просматривать эти изображения в виде сетки на основе любых критериев, с которыми он связан в базе данных (например, только отображение изображений определенного цвета).

Сначала я на самом деле «схватил» захваченное изображениеs имя файла и сохранить его в базе данных, используя этот код:

//Initializing Variables:
protected ImageButton _button;
protected ImageView _image;
protected TextView _field;
protected String _path;
protected String name;
protected boolean _taken;
protected static final String PHOTO_TAKEN = "photo_taken";

@Override
protected void onCreate(Bundle savedInstanceState) {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.newitemui);

    //Creating the "item_images" directory and File:
    File dir = new File("sdcard/item_images"); 
    try
    {
        //Create new directory:
        if(dir.mkdir()) 
        {
            System.out.println("Directory created");
        } 
        else 
        {
            System.out.println("Directory is not created");
        }
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }

    //Setting the current time stamp for image name:
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US).format(new Date());

    _image = ( ImageView ) findViewById( R.id.image );
    _field = ( TextView ) findViewById( R.id.field );
    _button = ( ImageButton ) findViewById( R.id.button );
    _button.setOnClickListener( new ButtonClickHandler() );
    name = "IMG_" + timeStamp + ".png";
    _path = Environment.getExternalStorageDirectory() + File.separator + "/item_images" + "/" + name;

    Toast toast = Toast.makeText(NewItemUI.this,"Touch Camera to Capture Image", Toast.LENGTH_LONG);
    toast.show();
    toast.setGravity(Gravity.DISPLAY_CLIP_HORIZONTAL|Gravity.BOTTOM, 0, 200);
}

 public class ButtonClickHandler implements View.OnClickListener 
    {
        public void onClick( View view ){
            startCameraActivity();
        }
    }

 protected void startCameraActivity()
    {
        File file = new File( _path );
        Uri outputFileUri = Uri.fromFile( file );

        Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
        intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );

        startActivityForResult( intent, 0 ); 
    }


 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    {               
        switch( resultCode )
        {
            //If user did not take photo, return to the original screen with no result:
            case 0:
                break;

            //If user took a photo, insert the image name into database and return to the original screen with the captured image displayed:
            case -1:

                    AppDatabase appdb = new AppDatabase(this);
                    SQLiteDatabase sql = appdb.getWritableDatabase();
                    sql.execSQL("INSERT INTO tblClothingItem (imagePath) VALUES ('"+name+"');");
                    sql.close();
                    appdb.close();

                    onPhotoTaken();
                    break;  
        }

    }

Однако я понял, что сохраняемое имя файла - это обычная строка в контексте приложения и фактически не указывает ни на одно изображение, хранящееся в файловой системе.

Что я хотел бы знать, это:

Как я могухранить Uri изображения в моей базе данных SQLite, как она захваченаКак бы я пошла за получением изображений на основе их сохраненного Uri для отображения в виде сетки.

Любые предложения, пример кода, обратная связь приветствуется.

Ответы на вопрос(1)

Ваш ответ на вопрос