Использование стандартной галереи Android в качестве основы для моего собственного приложения

1

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

Есть ли способ получить (или создать) базовую галерею, которую вы найдете на всех устройствах Android. Что-то простое, что сканирует все снимки на SD-карте и показывает их на экране, сдвигая влево и вправо...

Единственное, что я нашел, это HelloGallery; полностью бесполезный код Google, который будет использовать адаптер на основе файлов r.drawable.xxx...

Нет ничего там, что делает то же самое, но на основе URI на основе MediaStore?

Спасибо и извините, если это действительно глупый вопрос.

  • 0
    Не уверен, что то, что вы ищете, это пример кода или совет для написания нового представления. Вы ознакомились с основами пользовательского интерфейса Android?
  • 0
    вау .... совершенно бесполезный гугл код. Вы человек, чтобы бросить вызов Google Code: D
Теги:
gallery
mediastore

1 ответ

0

Это упрощает сканирование изображений с 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;

    }
  • 0
    Спасибо за ответы, я наконец-то воспользовался либо 3D-галереей, созданной Cooliris, и Cyanogen, встроенной в GIT, или его предыдущей версией для старых устройств. Для его выполнения потребовалось немало работы, но это хороший код, чтобы получить исчерпывающее представление об этой теме.

Ещё вопросы

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