Что вам нужно сделать, это что-то вроде этого:
public ImageAdapter(Context c, int itemId) {
context = c;
imgArr = GlobalStore.getItem(itemId).getPhotos();
TypedArray attr = context.obtainStyledAttributes(R.styleable.HelloGallery);
mGalleryItemBackground = attr.getResourceId(R.styleable.HelloGallery_android_galleryItemBackground, 0);
attr.recycle();
}
Как вы можете видеть, это в основном копия из учебника Галереи. В конструктор переменная imgArr загружается массив имен файлов JPG. Например, они были прочитаны из базы данных.
Тогда в функции getView у вас есть что-то вроде этого ...
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(context);
String tmpStr = appContext.getFilesDir() + File.separator + "photos" + File.separator + imgArr.get(position);
Bitmap bitmap = BitmapFactory.decodeFile(tmpStr);
imageView.setImageBitmap(bitmap);
imageView.setLayoutParams(new Gallery.LayoutParams(350, 300));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setBackgroundResource(mGalleryItemBackground);
return imageView;
}
Как вы можете видеть, getFilesDir () получает данные о вашем приложении, где хранятся файлы, а затем давайте представим, что все фотографии находятся в каталоге "photos", вы строите путь и прикрепляете имя файла из imgArr массив. Так как это вызывается для каждой фотографии, вы просто используете переданную переменную position .
Если у вас нет массива фотографий, то, возможно, можно построить его, прочитав каталог, в котором вы храните фотографии, загрузите все имена файлов в массив и затем сделайте это.
Затем вы делаете все остальное на стороне галереи, как в учебнике по галерее.