我在需要从授权来源获取图像的应用程序中使用通用图像加载器。
到目前为止,我已经用我自己的类扩展了 URLConnectionImageDownloader 类,并用我自己的实现覆盖了 getStreamFromNetwork 方法,该实现在 URLConnection 对象中设置了授权标头,如下所示:
public class authURLConnectionImageDownloader extends URLConnectionImageDownloader {
@Override
public InputStream getStreamFromNetwork(URI imageUri) throws IOException {
String auth = Base64.encodeToString(("username" + ":"+"psswd").getBytes(), Base64.NO_WRAP);
URLConnection conn = imageUri.toURL().openConnection();
conn.setRequestProperty("Authorization", "Basic " + auth);
conn.setConnectTimeout(DEFAULT_HTTP_CONNECT_TIMEOUT);
conn.setReadTimeout(DEFAULT_HTTP_READ_TIMEOUT);
return new FlushedInputStream(new BufferedInputStream(conn.getInputStream(), BUFFER_SIZE));
}
并设置我的 ImageLoader...
imageLoader = ImageLoader.getInstance();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(MainActivity.this)
.imageDownloader(new authURLConnectionImageDownloader())
.build();
imageLoader.init(config);
到目前为止,我无法让它工作。图像未下载。但更重要的是,我在 getStreamFromNetwork() 中设置了一个断点,它永远不会被击中?我究竟做错了什么?