Я экспериментирую с использованием Universal Image Loader (https://github.com/nostra13/Android-Universal-Image-Loader) для отображения миниатюр в виде сетки. Я могу получить его, чтобы показывать эскизы изображений без проблем.Можно ли отображать миниатюры изображений с помощью Universal Image Loader и как?
Как инициализировать ИЮОЖ в классе Application:
@Override
public void onCreate() {
super.onCreate();
initUil();
}
private void initUil() {
DisplayImageOptions displayOptions = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisc(true)
.build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.taskExecutor(ThreadPool.getExecutorService())
.defaultDisplayImageOptions(displayOptions)
.build();
ImageLoader.getInstance().init(config);
}
Как я использую его для отображения миниатюр:
public class MediaCursorAdapter extends SimpleCursorAdapter implements Filterable {
@Override
public void bindView(View rowView, Context context, Cursor cursor) {
String contentUri = getContentUri(cursor);
ImageView imgThumb = (ImageView) rowView.findViewById(R.id.imgThumb);
ImageLoader.getInstance().displayImage(contentUri, imgThumb);
}
}
Часть кода для простоты опущены. contentUri
может быть либо URI изображения, либо видео URI, в обоих случаях он имеет вид content://...
Можно ли отображать видео эскизы из URI видеоконтента с использованием этой библиотеки? Как?
Heads up, я опробовал этот подход, но я заметил, что большой замедляется, когда я генерировал эскизы для кучи медиа-элементов. Похоже, что UIL создает запись кэша для самого видео в каталоге данных, что означает много времени обработки и больших файлов (просмотр файлов 50 мб и т. Д.). Я все еще смотрю на это, но большое спасибо за интеграцию vids с uil. – Core
Я тоже это заметил, но это происходит только в первый раз. Я предположил, что это потому, что эскизов для видео не было в «MediaStore», поэтому вызов 'ThumbnailUtils.createVideoThumbnail() заставил создать все миниатюры видео. Но я точно не знаю, как работает этот метод, поэтому я могу быть совершенно неправ. –
Привет, я попытался создать свой собственный ImageDecoder на основе вашей работы, но когда я попытаюсь его использовать, декодер завершится с ошибкой: E/ImageLoader: null java.lang.NullPointerException? Почему? – mass441