ImageDownloader.java
图片下载接口。待实现函数
getStream(String imageUri, Object extra)
表示通过 uri 得到 InputStream。
通过内部定义的枚举Scheme, 可以看出 UIL 支持哪些图片来源
BaseImageDownloader.java
ImageDownloader的具体实现类。得到上面各种Scheme对应的图片 InputStream。
主要函数
(1). getStream(String imageUri, Object extra)
在getStream(…)函数内根据不同Scheme类型获取图片输入流4
(2). getStreamFromNetwork(String imageUri, Object extra)
通过HttpURLConnection从网络获取图片的InputStream
(3). getStreamFromFile(String imageUri, Object extra)
从文件系统获取图片的InputStream。如果 uri 是 video 类型,则需要单独得到 video 的缩略图返回,否则按照一般读取文件操作返回。
(4). getStreamFromContent(String imageUri, Object extra)
从 ContentProvider 获取图片的InputStream。
如果是 video 类型,则先从MediaStore得到 video 的缩略图返回;
如果是联系人类型,通过ContactsContract.Contacts.openContactPhotoInputStream(res, uri)读取内容返回。
否则通过 ContentResolver.openInputStream(…) 读取内容返回
(5). getStreamFromAssets(String imageUri, Object extra)
从 Assets 中获取图片的InputStream。
(6). getStreamFromDrawable(String imageUri, Object extra)
从 Drawable 资源中获取图片的InputStream。
(7). getStreamFromOtherSource(String imageUri, Object extra)
UNKNOWN(自定义)类型的处理,目前是直接抛出不支持的异常
网友评论