UILでは Web, SD card, content provider, assets, drawables (non-9patch images) から画像を取得が用意されているが、例えば API から画像を Base64 でとってきて表示させるにはどうするか
ImageLoaderConfiguration.imageDownloader に用意した ImageLoader をセットすればよさそう
ImageLoaderDisplay.java
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
...
.imageDownloader(new CustomImageLoader(context))
.build();
ImageLoader.getInstance().init(config);
ImageLoader.getInstance()
.displayImage(imageUri,
imageView, options);
CustomImageLoader.java
public class CustomImageLoader extends BaseImageDownloader{
public CustomImageLoader(Context context) {
super(context);
}
@Override
public InputStream getStream(String imageUri, Object extra) throws IOException {
if (...)) {
return imageLoader(imageUri, extra);
} else return super.getStream(imageUri, extra);
}
getStream をオーバーライドして、例えば imageUri に特定の文字列が含まれている等の条件でそれ経由を判別させて処理させる