我正在使用通用的图像加载器在一个需要从授权源获取图片的应用中。目前,我已经通过自己的类扩展了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()中设置了断点,却从未被触发?我哪里做错了吗?