2017-01-04 38 views
0

讀取圖像,我得到一個InputStream的使用response.body().byteStream()如何使用畢加索從InputStream中

如何使用畢加索從InputStream加載圖像?

+0

https://medium.com/@jpardogo/requesthandler-api-for-picasso-library-c3ee7c4bec25# .9jxt8oq94 –

回答

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(); 

定製的負載方法將返回一個響應(其中接受一個I​​nputStream或位圖參數在他的構造函數),這將是辦理畢加索。

終於

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

更多細節

Custom Picasso Downloader