[英]How to use Picasso to read image from InputStream
我通过使用response.body().byteStream()
得到一个InputStream
如何使用毕加索从InputStream
加载图像?
使用自定义毕加索下载器。 您必须创建自定义类,并仅在您的类中实现Downloader(picasso)并定义load方法,而无需直接在API中公开功能。
public class DropBoxThumbDowloader implements Downloader {
private final DropBoxInteractor mDropBoxInteractor;
public DropBoxThumbDowloader(DropBoxInteractor dropBoxInteractor) {
mDropBoxInteractor = dropBoxInteractor;
}
@Override
public Response load(Uri uri, boolean localCacheOnly) throws IOException {
InputStream in = mDropBoxInteractor.getThumbnailStream(uri.toString());
return new Response(in, false, -1);
}
}
这样叫
Picasso picassoInstance = new Picasso.Builder(context.getApplicationContext()).downloader(new DropBoxThumbDowloader(dropBoxInteractor)).build();
自定义加载方法将返回一个响应(该响应在其构造函数中接受InputStream或Bitmap参数),该响应将作为毕加索的句柄。
最后
picassoInstance.load(path).into(imageView);
更多细节
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.