繁体   English   中英

如何使用毕加索从InputStream读取图像

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM