Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
23 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -1,31 +1,51 @@ | |||
## UrlImageViewHelper | |||
UrlImageViewHelper will fill an ImageView with an image that is found at a URL. | UrlImageViewHelper will fill an ImageView with an image that is found at a URL. | ||
|
|
||
### Sample Project | |||
|
|||
The sample will do a Google Image Search and load/show the results asynchronously. | The sample will do a Google Image Search and load/show the results asynchronously. | ||
|
|
||
|
|||
### Usage | |||
|
|||
UrlImageViewHelper will automatically download, save, and cache all the image urls | UrlImageViewHelper will automatically download, save, and cache all the image urls | ||
the BitmapDrawables. Duplicate urls will not be loaded into memory twice. | the BitmapDrawables. Duplicate urls will not be loaded into memory twice. | ||
Bitmap memory is managed by using a weak reference hash table, so as soon as the | Bitmap memory is managed by using a weak reference hash table, so as soon as the | ||
image is no longer used by you, it will be garbage collected automatically. | image is no longer used by you, it will be garbage collected automatically. | ||
|
|
||
Usage is simple: | Usage is simple: | ||
|
|
||
```java | |||
UrlImageViewHelper.setUrlDrawable(imageView, "http://example.com/image.png"); | UrlImageViewHelper.setUrlDrawable(imageView, "http://example.com/image.png"); | ||
``` | |||
|
|||
|
|
||
Want a placeholder image while it is being downloaded? | Want a placeholder image while it is being downloaded? | ||
|
|
||
```java | |||
UrlImageViewHelper.setUrlDrawable(imageView, "http://example.com/image.png", R.drawable.placeholder); | UrlImageViewHelper.setUrlDrawable(imageView, "http://example.com/image.png", R.drawable.placeholder); | ||
``` | |||
|
|||
|
|
||
Don't want to use a placeholder resource, but a drawable instead? | Don't want to use a placeholder resource, but a drawable instead? | ||
|
|
||
```java | |||
UrlImageViewHelper.setUrlDrawable(imageView, "http://example.com/image.png", drawable); | UrlImageViewHelper.setUrlDrawable(imageView, "http://example.com/image.png", drawable); | ||
``` | |||
|
|||
|
|
||
What if you want to preload images for snazzy fast loading? | What if you want to preload images for snazzy fast loading? | ||
|
|
||
```java | |||
UrlImageViewHelper.loadUrlDrawable(context, "http://example.com/image.png"); | UrlImageViewHelper.loadUrlDrawable(context, "http://example.com/image.png"); | ||
``` | |||
|
|
||
What if you only want to cache the images for a minute? | |||
|
|
||
UrlImageViewHelper.setUrlDrawable(imageView, "http://example.com/image.png", /* This an optional interstitial argument */ null, 60000); | What if you only want to cache the images for a minute? | ||
|
|
||
```java | |||
// Note that the 3rd argument "null" is an optional interstitial | |||
// placeholder image. | |||
UrlImageViewHelper.setUrlDrawable(imageView, "http://example.com/image.png", null, 60000); | |||
``` | |||
|
|
||
TODO: An http connection manager for connection reuse might be handy. |