public class BaseImageDownloader extends Object implements ImageDownloader
InputStream
of image by URI from network or file system or app resources.URLConnection
is used to retrieve image stream from network.ImageDownloader.Scheme
限定符和类型 | 字段和说明 |
---|---|
protected static String |
ALLOWED_URI_CHARS
"@#&=*+-_.,:!?()/~\'%"
|
protected static int |
BUFFER_SIZE
32768
|
protected int |
connectTimeout |
protected static String |
CONTENT_CONTACTS_URI_PREFIX |
protected android.content.Context |
context |
static int |
DEFAULT_HTTP_CONNECT_TIMEOUT
5000
|
static int |
DEFAULT_HTTP_READ_TIMEOUT
20000
|
protected static int |
MAX_REDIRECT_COUNT |
protected int |
readTimeout |
构造器和说明 |
---|
BaseImageDownloader(android.content.Context context) |
BaseImageDownloader(android.content.Context context,
int connectTimeout,
int readTimeout) |
限定符和类型 | 方法和说明 |
---|---|
protected HttpURLConnection |
createConnection(String url,
Object extra)
Create HTTP connection for incoming URL
|
protected InputStream |
getContactPhotoStream(android.net.Uri uri) |
InputStream |
getStream(String imageUri,
Object extra)
Retrieves
InputStream of image by URI. |
protected InputStream |
getStreamFromAssets(String imageUri,
Object extra)
Retrieves
InputStream of image by URI (image is located in assets of application). |
protected InputStream |
getStreamFromContent(String imageUri,
Object extra)
Retrieves
InputStream of image by URI (image is accessed using ContentResolver ). |
protected InputStream |
getStreamFromDrawable(String imageUri,
Object extra)
Retrieves
InputStream of image by URI (image is located in drawable resources of application). |
protected InputStream |
getStreamFromFile(String imageUri,
Object extra)
Retrieves
InputStream of image by URI (image is located on the local file system or SD card). |
protected InputStream |
getStreamFromNetwork(String imageUri,
Object extra)
Retrieves
InputStream of image by URI (image is located in the network). |
protected InputStream |
getStreamFromOtherSource(String imageUri,
Object extra)
Retrieves
InputStream of image by URI from other source with unsupported scheme. |
protected boolean |
shouldBeProcessed(HttpURLConnection conn) |
public static final int DEFAULT_HTTP_CONNECT_TIMEOUT
public static final int DEFAULT_HTTP_READ_TIMEOUT
protected static final int BUFFER_SIZE
protected static final String ALLOWED_URI_CHARS
protected static final int MAX_REDIRECT_COUNT
protected final android.content.Context context
protected final int connectTimeout
protected final int readTimeout
public BaseImageDownloader(android.content.Context context)
public BaseImageDownloader(android.content.Context context, int connectTimeout, int readTimeout)
public InputStream getStream(String imageUri, Object extra) throws IOException
ImageDownloader
InputStream
of image by URI.getStream
在接口中 ImageDownloader
imageUri
- Image URIextra
- Auxiliary object which was passed to DisplayImageOptions.extraForDownloader(Object)
; can be nullInputStream
of imageIOException
- if some I/O error occurs during getting image streamprotected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException
InputStream
of image by URI (image is located in the network).imageUri
- Image URIextra
- Auxiliary object which was passed to DisplayImageOptions.extraForDownloader(Object)
; can be nullInputStream
of imageIOException
- if some I/O error occurs during network request or if no InputStream could be created for
URL.protected boolean shouldBeProcessed(HttpURLConnection conn) throws IOException
conn
- Opened request connection (response code is available)IOException
protected HttpURLConnection createConnection(String url, Object extra) throws IOException
url
- URL to connect toextra
- Auxiliary object which was passed to DisplayImageOptions.extraForDownloader(Object)
; can be nullIOException
- if some I/O error occurs during network request or if no InputStream could be created for
URL.protected InputStream getStreamFromFile(String imageUri, Object extra) throws IOException
InputStream
of image by URI (image is located on the local file system or SD card).imageUri
- Image URIextra
- Auxiliary object which was passed to DisplayImageOptions.extraForDownloader(Object)
; can be nullInputStream
of imageIOException
- if some I/O error occurs reading from file systemprotected InputStream getStreamFromContent(String imageUri, Object extra) throws FileNotFoundException
InputStream
of image by URI (image is accessed using ContentResolver
).imageUri
- Image URIextra
- Auxiliary object which was passed to DisplayImageOptions.extraForDownloader(Object)
; can be nullInputStream
of imageFileNotFoundException
- if the provided URI could not be openedprotected InputStream getContactPhotoStream(android.net.Uri uri)
protected InputStream getStreamFromAssets(String imageUri, Object extra) throws IOException
InputStream
of image by URI (image is located in assets of application).imageUri
- Image URIextra
- Auxiliary object which was passed to DisplayImageOptions.extraForDownloader(Object)
; can be nullInputStream
of imageIOException
- if some I/O error occurs file readingprotected InputStream getStreamFromDrawable(String imageUri, Object extra)
InputStream
of image by URI (image is located in drawable resources of application).imageUri
- Image URIextra
- Auxiliary object which was passed to DisplayImageOptions.extraForDownloader(Object)
; can be nullInputStream
of imageprotected InputStream getStreamFromOtherSource(String imageUri, Object extra) throws IOException
InputStream
of image by URI from other source with unsupported scheme. Should be overriden by
successors to implement image downloading from special sources.UnsupportedOperationException
by
default.imageUri
- Image URIextra
- Auxiliary object which was passed to DisplayImageOptions.extraForDownloader(Object)
; can be nullInputStream
of imageIOException
- if some I/O error occursUnsupportedOperationException
- if image URI has unsupported scheme(protocol)