Как сохранить Uri в базу данных

252
25 февраля 2017, 04:38

Я загружаю фото из галлереи таким способом

mDownloadPhoto.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
            photoPickerIntent.setType("image/*");
            startActivityForResult(photoPickerIntent, GALLERY_REQUEST);
        }
    });

Затем

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_PHOTO){
        updatePhoto();
        Toast.makeText(getContext(), "r", Toast.LENGTH_SHORT).show();
    } else if (requestCode == GALLERY_REQUEST) {
        if (resultCode == Activity.RESULT_OK){
            Uri selectedImage = data.getData();
            setImageBitmapFromUri(selectedImage);
        }
    }
}
private void setImageBitmapFromUri(Uri uri){
    try {
        Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
        ImageView.ScaleType scaleType = ImageView.ScaleType.CENTER;
        mPhotoCard.setScaleType(scaleType);
        mPhotoCard.setImageBitmap(bitmap);
        mCard.setPhotoName(uri.getScheme());
        mCardLab.updateCard(mCard);
        Toast.makeText(getContext(), uri.getScheme(), Toast.LENGTH_SHORT).show();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

Как поместить Uri в базу данных чтобы при последующем запуске, программа загружала картинку уже автоматически, извлекая uri из базы данных

Answer 1

Чтобы записать Uri в базу данных, его необходимо преобразовать в строку, а строку сохранить в БД.

Uri uri;
String stringUri;
stringUri = uri.toString();

Для обратного преобразования, получаете из БД строку и преобразуете ее в Uri:

Uri uri;
String stringUri;
uri = Uri.parse(stringUri);
READ ALSO
Код Java на Scala

Код Java на Scala

Хочу уточнить вопрос про использование классов и библиотек написанных на java в языке scalaЧто необходимо сделать чтобы можно это сделать? Импортировать?...

253
Ошибка при запуске Unit test. Failed to load ApplicationContext

Ошибка при запуске Unit test. Failed to load ApplicationContext

Пытаюсь протестировать метод (пока хотя бы один, потом и все остальные) из класса UserDBDaoДля этого написал UserDBDaoTest:

338
Java. Странное поведение методов totalMemory() и freeMemory()

Java. Странное поведение методов totalMemory() и freeMemory()

ЗдравствуйтеМне необходимо узнать сколько памяти занимает мой объект, и я делаю это так:

311
AlertDialog при возникновении ошибки в AsyncTask

AlertDialog при возникновении ошибки в AsyncTask

В моем проекте есть главная форма с AsynkTask, на которой я подтягиваю 1 jsonЗагрузка остальных форм не происходит, пока не придут данные

262