我使用response.body().byteStream()
如何使用Picasso从InputStream
加载图片?
答案 0 :(得分:1)
使用Custom Picasso Downloader。你必须创建自定义类并在你的类中实现Downloader(picasso)并定义加载方法而不直接暴露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();
自定义加载方法将返回一个将为Picasso处理的响应(在其构造函数中接受一个InputStream或Bitmap参数)。
最后
picassoInstance.load(path).into(imageView);
了解更多详情