| page.title=Transmitting Network Data Using Volley |
| page.tags="" |
| |
| trainingnavtop=true |
| startpage=true |
| |
| |
| @jd:body |
| |
| |
| |
| <div id="tb-wrapper"> |
| <div id="tb"> |
| |
| |
| <!-- Required platform, tools, add-ons, devices, knowledge, etc. --> |
| <h2>Dependencies and prerequisites</h2> |
| |
| <ul> |
| <li>Android 1.6 (API Level 4) or higher</li> |
| </ul> |
| |
| <h2>You should also see</h2> |
| <ul> |
| <li>For a production quality app that uses Volley, see the 2013 Google I/O |
| <a href="https://github.com/google/iosched">schedule app</a>. In particular, see: |
| <ul> |
| <li><a |
| href="https://github.com/google/iosched/blob/master/android/src/main/java/com/google/android/apps/iosched/util/ImageLoader.java"> |
| ImageLoader</a></li> |
| <li><a |
| href="https://github.com/google/iosched/blob/master/android/src/main/java/com/google/android/apps/iosched/util/BitmapCache.java"> |
| BitmapCache</a></li> |
| </ul> |
| </li> |
| </ul> |
| |
| </div> |
| </div> |
| |
| <a class="notice-developers-video wide" href="https://developers.google.com/events/io/sessions/325304728"> |
| <div> |
| <h3>Video</h3> |
| <p>Volley: Easy, Fast Networking for Android</p> |
| </div> |
| </a> |
| |
| |
| <p>Volley is an HTTP library that makes networking for Android apps easier and most importantly, |
| faster. Volley is available through the open |
| <a href="https://android.googlesource.com/platform/frameworks/volley">AOSP</a> repository.</p> |
| |
| <p>Volley offers the following benefits:</p> |
| |
| <ul> |
| |
| <li>Automatic scheduling of network requests.</li> |
| <li>Multiple concurrent network connections.</li> |
| <li>Transparent disk and memory response caching with standard HTTP |
| <a href=http://en.wikipedia.org/wiki/Cache_coherence">cache coherence</a>.</li> |
| <li>Support for request prioritization.</li> |
| <li>Cancellation request API. You can cancel a single request, or you can set blocks or |
| scopes of requests to cancel.</li> |
| <li>Ease of customization, for example, for retry and backoff.</li> |
| <li>Strong ordering that makes it easy to correctly populate your UI with data fetched |
| asynchronously from the network.</li> |
| <li>Debugging and tracing tools.</li> |
| |
| </ul> |
| |
| <p>Volley excels at RPC-type operations used to populate a UI, such as fetching a page of |
| search results as structured data. It integrates easily with any protocol and comes out of |
| the box with support for raw strings, images, and JSON. By providing built-in support for |
| the features you need, Volley frees you from writing boilerplate code and allows you to |
| concentrate on the logic that is specific to your app.</p> |
| <p>Volley is not suitable for large download or streaming operations, since Volley holds |
| all responses in memory during parsing. For large download operations, consider using an |
| alternative like {@link android.app.DownloadManager}.</p> |
| |
| <p>The core Volley library is developed in the open |
| <a href="https://android.googlesource.com/platform/frameworks/volley">AOSP</a> |
| repository at {@code frameworks/volley} and contains the main request dispatch pipeline |
| as well as a set of commonly applicable utilities, available in the Volley "toolbox." The |
| easiest way to add Volley to your project is to clone the Volley repository and set it as |
| a library project:</p> |
| |
| <ol> |
| <li>Git clone the repository by typing the following at the command line: |
| |
| <pre> |
| git clone https://android.googlesource.com/platform/frameworks/volley |
| </pre> |
| </li> |
| |
| <li>Import the downloaded source into your app project as an Android library project |
| (as described in <a href="{@docRoot}tools/projects/projects-eclipse.html"> |
| Managing Projects from Eclipse with ADT</a>, if you're using Eclipse) or make a |
| <a href="{@docRoot}guide/faq/commontasks.html#addexternallibrary"><code>.jar</code> file</a>.</li> |
| </ol> |
| |
| <h2>Lessons</h2> |
| |
| <dl> |
| <dt> |
| <strong><a href="simple.html">Sending a Simple Request</a></strong> |
| </dt> |
| <dd> |
| Learn how to send a simple request using the default behaviors of Volley, and how |
| to cancel a request. |
| |
| </dd> |
| <dt> |
| <strong><a href="requestqueue.html">Setting Up a RequestQueue</a></strong> |
| </dt> |
| <dd> |
| Learn how to set up a {@code RequestQueue}, and how to implement a singleton |
| pattern to create a {@code RequestQueue} that lasts the lifetime of your app. |
| </dd> |
| <dt> |
| <strong><a href="request.html">Making a Standard Request</a></strong> |
| </dt> |
| <dd> |
| Learn how to send a request using one of Volley's out-of-the-box request types |
| (raw strings, images, and JSON). |
| </dd> |
| <dt> |
| <strong><a href="request-custom.html">Implementing a Custom Request</a></strong> |
| </dt> |
| <dd> |
| Learn how to implement a custom request. |
| </dd> |
| |
| </dl> |