Android, загрузка изображений из определенной папки в представление галереи

Эй, ребята, как дела? Я настроил представление галереи для своего приложения, и я хотел бы загружать изображения в этом представлении из определенной папки изображений на моей SD-карте. Может кто-нибудь, пожалуйста, помогите мне, так как я много искал, и ни одно из предложенных решений не сработало.

Мне удалось загрузить изображения из папки RES/DRAWABLE в мою галерею, но мне так и не удалось выполнить мой первоначальный план.

Это класс imageadapter, который я использую для загрузки изображений из папки RES/DRAWABLE.

public class ImageAdapter extends BaseAdapter 
{

        public ImageAdapter(Context c) 
        {
            mContext = c;
        }

        public int getCount() 
        {
            return mThumbIds.length;
        }

        public Object getItem(int position) 
        {
            return position;
        }

        public long getItemId(int position) 
        {
            return position;
        }

        public View getView(int position, View convertView, ViewGroup parent) 
        {
            ImageView imageView;
            if (convertView == null)
            {
                imageView = new ImageView(mContext);
                imageView.setLayoutParams(new Gallery.LayoutParams(100, 100));
                imageView.setAdjustViewBounds(false);
                imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                imageView.setPadding(18, 18, 18, 18);
            } 
            else 
            {
                imageView = (ImageView) convertView;
            }

            imageView.setImageResource(mThumbIds[position]);

            return imageView;
        }

        private Context mContext;

        private Integer[] mThumbIds = 
        {
               R.drawable.image_1,
               R.drawable.image_2,
               R.drawable.image_3,
               R.drawable.image_4
        };
}

person aminet91    schedule 26.03.2011    source источник


Ответы (1)


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

person hfitzwater    schedule 26.03.2011
comment
эй, спасибо, я просто пришел сюда, чтобы сказать, что мне удалось решить эту проблему, похоже, это почти так же, как это обсуждается в этом руководстве ... я использовал fileinputstream и bufferedinputstream, я получил список всех файлов в каталоге, прочитайте каждый в fileinputstream и поместил его в буфер, где затем я создал растровое изображение и добавил его в массив растровых изображений. Благодарность - person aminet91; 27.03.2011
comment
Хорошо, теперь у меня новая проблема, я не могу загружать изображения размером более 500 КБ, какое-нибудь решение? мое приложение падает - person aminet91; 27.03.2011
comment
Скорее всего - у вас OutOfMemoryError. Под приложение отводится не такой уж большой объем памяти, а битмапы не освобождаются автоматически — их нужно удалять вручную с помощью Bitmap.recycle(). Вы должны добавить функциональность загрузки/выгрузки для растровых изображений в зависимости от их видимости. - person OleGG; 11.02.2012
comment
@aminet91 привет, не могли бы вы поделиться решением, пожалуйста? - person User1204501; 10.09.2013