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)
從文件系統(tǒng)獲取圖片的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(自定義)類型的處理,目前是直接拋出不支持的異常