11.1. Consuming HTTP Services11.1.1. Using the HttpClient for HTTP GET Requests11.1.2. Using the HttpClient for HTTP POST Requests (a Multipart Example)11.1.3. SOAP, JSON, and XML Parsers11.1.4. Dealing with Exceptions11.1.5. Addressing Multithreading Issues11.1.6. Fun With Timeouts11.1.7. Using the HttpURLConnection11.1.8. Using the AndroidHttpClient11.1.9. Using Background Threads (AsyncTask)11.1.10. Handling Configuration Changes with AsyncTasks11.1.11. Getting Files Using DownloadManager11.2. Using Android Services11.2.1. Understanding Services in Android11.2.2. Understanding Local Services11.2.3. Understanding AIDL Services11.2.4. Defining a Service Interface in AIDL11.2.5. Implementing an AIDL Interface11.2.6. Calling the Service from a Client Application11.2.7. Passing Complex Types to Services11.3. Real-World Example Using Services11.3.1. Google Translate API11.3.2. Using the Google Translate API11.4. References11.5. Summary