Загрузить фотографии Dropbox с Пикассо?
У меня проблема, когда я хочу получить мои фотографии из Dropbox и загрузить их в GridView, и я хочу использовать Picasso в адаптере тоже. метод load() будет принимать загружаемый URL,
PS: я использую Dropbox Android SDK 1.6.1
если бы я использовал метод media() и извлекал URL из dropbox вот так:
// Get the metadata for a directory , | request |
DropboxAPI.Entry dirent = Log_in.mApi.metadata(Log_in.APP_DIR + "/images/", 1000, null, true, null);
if (!dirent.isDir || dirent.contents == null) {
// It's not a directory, or there's nothing in it
mErrorMsg = "File or empty directory";
//return false;
}
// Make a list of everything in it that we can get a thumbnail for
thumbs = new ArrayList<>();
imagePath = new ArrayList<>();
for (DropboxAPI.Entry ent : dirent.contents) {
if (ent.thumbExists) {
// Add it to the list of thumbs we can choose from
thumbs.add(ent);
// do another requests (many requests to dropbox to get the urls , and this is terrible it takes request time for each image !
imagePath.add(Log_in.mApi.media(ent.path,true).url);
}
}
это не практично, потому что это займет так много времени, чтобы получить каждый URL-адрес, это сценарий:
- Поиск изображений в папке "Фото" (1 запрос)
- Использование [media][1] для получения прямого URL (1 * (изображения) запросов)
- Используя Picasso в адаптере (1 * (изображения) запросов), я буду иметь количество (изображения) * 2 + 1 количество запросов
это ужасно, нужно лучшее решение.
PS: я попробовал это https://medium.com/@jpardogo/requesthandler-api-for-picasso-library-c3ee7c4bec25
но код не завершен, некоторые классы не разрешены / существуют, а некоторые переменные не определены.
поэтому любой получил представление о том, как работать с изображениями API Dropbox с помощью Picasso .
1 ответ
Я думаю, что есть образец из Dropbox по этому поводу, попробуйте проверить эту ссылку образец Dropbox
есть 2 файла, которые нужно увидеть PicassoClient.java и FileThumbnailRequestHandler.java