Как добавить сфотографированную фото в базу данных sqlite и после выхода активити показать фото

Весь этот код открываем камеру

private void checkCameraPermissionAndOpen() {
        Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        if (cameraIntent.resolveActivity(getPackageManager()) != null) {
            startActivityForResult(cameraIntent, REQUEST_TAKE_PHOTO);

        }

    }



    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == REQUEST_TAKE_PHOTO && resultCode == RESULT_OK) {

            Bundle extras = data.getExtras();
            Bitmap thumbnailBitmap = (Bitmap) extras.get("data");
            imageView_ph.setImageBitmap(thumbnailBitmap);


        }
    }

Здесь вроде должно сохраняться фото в таблицу
Но я не уверен что это правильно
Сам проверял ничего не получалось

Подскажите те у кого получилось сохранить фото в базу данных sqlite

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

    public void insertImage(String name, Bitmap bitmap) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues cv = new ContentValues();
        cv.put("name", name);
        cv.put("image", getBytesFromBitmap(bitmap));
        db.insert("images", null, cv);
        db.close();
    }


    public Bitmap getImage(int id) {
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.query("images", new String[]{"image"}, "id=?", new String[]{String.valueOf(id)}, null, null, null);
        if (cursor != null && cursor.moveToFirst()) {
            byte[] bytes = cursor.getBlob(0);
            cursor.close();
            return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
        }
        return null;
    }






    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(" CREATE TABLE " + TABLENAME + "(" + ID + " INTEGER PRIMARY KEY, "
                + DATA_NAME_DOG + " TEXT, "
                + DATA_AGE_DOG + " TEXT, "
                + DATA_SEX_DOG + " TEXT, "
                + IMAGE_DOG +  " BLOB  "  + ")");

    }


Ответы (0 шт):