Изменить этот учебник для доступа к изображениям с SD-карты?

1

Как мне отредактировать этот учебник, чтобы он захватывал изображения с SD-карты?

http://developer.android.com/guide/tutorials/views/hello-gallery.html

          private Integer[] mImageIds = {
        R.drawable.lol.marker,
        R.drawable.sample_2,
        R.drawable.sample_3,
        R.drawable.sample_4,
        R.drawable.sample_5,
        R.drawable.sample_6,
        R.drawable.sample_7
        };

В качестве альтернативы можно сделать подпапки внутри R.drawable?

  • 0
    Не могли бы вы сделать правку, показывающую ваше решение? Я все еще борюсь за то же решение из этого урока.
Теги:
image

1 ответ

2
Лучший ответ

R.drawable не является каталогом, а классом, содержащим статические поля, которые являются ссылками на ваши ресурсы. Вы не можете создавать подпапки в каталоге "drawable".
Теперь Если вы хотите заменить этот массив идентификаторов изображениями на SD-карте, вы должны использовать контент-резольвер для их получения. Было бы что-то вроде этого, я полагаю:

Cursor c = this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,null);
startManagingCursor(c);  

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

yourImageView.setImageURI(Uri.withAppendedPath(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, id+"")); 

ИЗМЕНИТЬ
Вы можете попробовать что-то подобное. Хотя я не уверен:

 Bitmap bitmap = BitmapFactory.decodeFile("path/to/the/image.png");
  yourImageView.setImageBitmap(bitmap);
  • 0
    Но как мне взять их только из определенной папки на SD-карте?
  • 0
    Что ж, если вы уже знаете местоположение изображений, которые хотите получить, вы можете попробовать что-то вроде моего редактирования.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню