У меня есть программа, в которой у меня есть база данных 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, и, как вы можете догадаться, одно из значений в ней должно быть «адресом» этого изображения. Как я могу это сделать?хорошо, что я делаю, или только очень сложный способ сделать что-то простое?