Downloader

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(自定义)类型的处理,目前是直接抛出不支持的异常

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,486评论 19 139
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,778评论 0 17
  • Android N系列适配---FileProvider Android 7.0的适配,主要包含方面: Andro...
    25a58172fbb5阅读 11,946评论 3 32
  • ¥开启¥ 【使用jni实现Tost】 〖2017-08-20 22:15:04〗 《在xx.cpp中写入以下代码€...
    小菜c阅读 4,353评论 0 1
  • 这刀,是你亲手所铸的,也是你亲自赠我的,这刀里,有你对我的情深。这是一把长情刀,我却只能做一个无情人。 一, 这把...
    伶仃陌阅读 3,935评论 5 16