【问题标题】:How to use Picasso to read image from InputStream如何使用毕加索从 InputStream 中读取图像
【发布时间】:2017-05-18 07:40:21
【问题描述】:

我通过使用 response.body().byteStream() 得到一个 InputStream

如何使用毕加索从InputStream加载图片?

【问题讨论】:

标签: android picasso okhttp3


【解决方案1】:

使用自定义毕加索下载器。您必须创建自定义类并在您的类中实现 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();

自定义加载方法将返回一个响应(在其构造函数中接受 InputStream 或 Bitmap 参数),该响应将为毕加索处理。

终于

picassoInstance.load(path).into(imageView);

更多详情

Custom Picasso Downloader

 

【讨论】:

    猜你喜欢
    • 2016-12-24
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-22
    • 2017-08-05
    • 2015-10-16
    • 2016-02-02
    • 2016-11-14
    相关资源
    最近更新 更多