当我想从Dropbox获取我的照片并将其加载到GridView中时我有一个问题,我也想在适配器中使用Picasso。 方法load()将采用可下载的URL,
PS:我正在使用Dropbox Android SDK 1.6.1
如果我使用方法media()并从Dropbox中获取url:
// 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);
}
}
根本不是实际的,因为这需要花费很多时间才能得到每个网址:
很糟糕,需要更好的解决方案。
PS:我试过这个https://medium.com/@jpardogo/requesthandler-api-for-picasso-library-c3ee7c4bec25#.wpmea1eci
但是代码不完整,有些类没有解析/存在,有些变量没有定义。
所以任何人都知道如何使用毕加索来处理Dropbox图像api。
答案 0 :(得分:1)
我认为Dropbox中有一个关于此的示例,请尝试检查此链接dropbox sample
您需要查看2个文件PicassoClient.java和FileThumbnailRequestHandler.java