Я пытаюсь сделать что-то, что должно быть достаточно простым, но у меня очень плохая форма, потому что я не могу найти ни одного действительного ответа для этого.
Есть ли способ получить (или создать) базовую галерею, которую вы найдете на всех устройствах Android. Что-то простое, что сканирует все снимки на SD-карте и показывает их на экране, сдвигая влево и вправо...
Единственное, что я нашел, это HelloGallery; полностью бесполезный код Google, который будет использовать адаптер на основе файлов r.drawable.xxx...
Нет ничего там, что делает то же самое, но на основе URI на основе MediaStore?
Спасибо и извините, если это действительно глупый вопрос.
Это упрощает сканирование изображений с SD-карты, получить все изображения uri. Вам нужно создать класс галереи и класс адаптера. Если вы хотите сдвинуться влево и вправо, в классе адаптера возьмите один макет с обоими родителями-родителями и поместите изображение в центре этого макета или дать изображения, чтобы заполнить parent.I прокомментировал ниже случай также работает, проверьте его также..
public ArrayList<String> getAllImagesUri(ContentResolver mResolver) {
ArrayList<String> imagesUris = new ArrayList<String>();
try{
// Cursor mCursor = mResolver.query(
// MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
// new String[] { MediaStore.Images.ImageColumns.DATA,MediaStore.Images.Media._ID }, null, null,
// null);
Cursor mCursor = mResolver.query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
new String[] {MediaStore.Images.Thumbnails.DATA ,MediaStore.Images.Thumbnails._ID }, null, null,
null);
startManagingCursor(mCursor);
if (mCursor.moveToFirst()) {
do {
try {
imagesUris.add(mCursor.getString(0));
imagesIds.add(mCursor.getString(1));
} catch (Exception e) {
e.printStackTrace();
}
} while (mCursor.moveToNext());
}
}catch (Exception e)
{
e.printStackTrace();
// TODO: handle exception
}
return imagesUris;
}