Настройка изображения-ресурса из галереи - PullRequest
0 голосов
/ 24 мая 2019

У меня есть программа, в которой у меня есть база данных SQLite.В одной таблице в одном из столбцов хранятся целочисленные значения, которые являются «адресами» изображения для рисования.(Когда я хочу добавить одну строку, я использую метод: recipesBase.newRecipe("BakedOmelet", "Breakfast","Description2", R.drawable.i024, recipe_1, steps_1);, где recipesBase - это экземпляр класса, расширяется от SQLiteOpenHelper , и этот столбец принимает значение R.drawable.i024 . Всеработает хорошо, но теперь я должен взять некоторые данные от пользователя, и одним из них является изображение из галереи. Я поместил его в ImageView:

JavaIntent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, GALLERY_REQUEST);

и:

@Override
    protected void onActivityResult(int reqCode, int resultCode, Intent data) {
        super.onActivityResult(reqCode, resultCode, data);
        if (resultCode == RESULT_OK) {
            try {
                final Uri imageUri = data.getData();
                final InputStream imageStream = getContentResolver().openInputStream(imageUri);
                final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
                ImageView img = findViewById(R.id.img);
                img.setImageBitmap(selectedImage);
                //

                String savedImageURL = MediaStore.Images.Media.insertImage(
                        getContentResolver(),
                        selectedImage,
                        "Image",
                        "UserData"
                );

                // Parse the gallery image url to uri
                Uri savedImageURI = Uri.parse(savedImageURL);
                Toast.makeText(getApplicationContext(), savedImageURL, Toast.LENGTH_LONG).show();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
                Toast.makeText(getApplicationContext(), "Something went wrong", Toast.LENGTH_LONG).show();
            }

        }else {
            Toast.makeText(getApplicationContext(), "You haven't picked Image",Toast.LENGTH_LONG).show();
        }
    }

затем, когда я загрузил его в ImageView, я хочу создать новую строку в моей таблице SQLite, и, как вы можете догадаться, одно из значений в ней должно быть «адресом» этого изображения. Как я могу это сделать?хорошо, что я делаю, или только очень сложный способ сделать что-то простое?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...