Ion: An Android Library for Asynchronous Networking and Image Loading
Join the DZone community and get the full member experience.Join For Free
You already have to get all your Android networking and downloading off the UI thread, so from Koushik Dutta comes a library to make it a bit easier: Ion. Dutta's documentation on GitHub is pretty thorough - a comprehensive list of features, usage examples, sample projects, easy set-up instructions for Maven and Gradle, and general tips and tricks for use - and covers everything you need to know.
And the features are extensive:
- Asynchronously download:
- Easy to use Fluent API designed for Android
- HTTP POST/PUT:
- Transparent usage of HTTP features and optimizations:
- Gzip/Deflate Compression
- Connection pooling/reuse via HTTP Connection: keep-alive
- Uses the best/stablest connection from a server if it has multiple IP addresses
- View received headers
- Grouping and cancellation of requests
- Download progress callbacks
- Supports file:/, http(s):/, and content:/ URIs
- Request level logging and profiling
- Support for proxy servers like Charles Proxy to do request analysis
- Based on NIO and AndroidAsync
- Ability to use self signed SSL certificates
If you're interested in asynchronous networking and image loading, then, check out Ion's GitHub and get started.
Opinions expressed by DZone contributors are their own.