# android-async-http/android-async-http

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/android-async-http-android-async-http).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

10,563 stars · 4,013 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/android-async-http/android-async-http
- Homepage: https://github.com/android-async-http/android-async-http#this-project-is-no-longer-maintained-and-is-currently-deprecated-and-insecure-to-use
- awesome-repositories: https://awesome-repositories.com/repository/android-async-http-android-async-http.md

## Topics

`android` `java`

## Description

Android Async HTTP is a callback-based HTTP client library for Android, written in Java. It sends network requests on background threads and delivers results to callback handlers, so the user interface thread never blocks while waiting on a server. It is a thin convenience layer over Apache HttpClient and hides that client's verbose setup behind simpler request and response abstractions.

Requests of all common types (GET, POST, PUT, PATCH, DELETE and HEAD) can be built with a parameter builder and sent asynchronously, or run synchronously from existing background threads and services. Specialised response handlers turn replies into text, JSON objects, XML read through a SAX parser, or files. The library also persists cookies on the device so login state survives app restarts, and it supports basic and digest authentication. Each in-flight call is registered under a handle and optional tag, so individual requests, groups or all requests can be cancelled, for example when a screen closes.

Beyond the basics, it covers multipart file uploads using only built-in code, downloads that can resume from a saved position, redirect following, and byte-range requests. Network resilience features include automatic retries tuned for unreliable mobile connections, adjustable timeouts, and a thread pool that caps concurrent requests. Gzip compression and decompression are applied transparently through request interceptors. On the security side, it can trust custom certificate authorities and enable server name indication on older Android versions by plugging in an alternative security provider.

The project is built with Gradle, including a Windows batch launcher. It publishes signed artifacts with source and Javadoc jars to Maven repositories, and it is released under the Apache License 2.0.

## Tags

### Mobile Development

- [Android HTTP Networking Libraries](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-libraries/android-http-networking-libraries.md) — Runs Android HTTP requests on background threads and delivers results to callback handlers so the user interface thread never blocks.
- [Asynchronous Network Callbacks](https://awesome-repositories.com/f/mobile-development/asynchronous-network-callbacks.md) — Runs network requests on background worker threads and delivers results through callback handlers so the interface thread never blocks.
- [Background Thread Networking](https://awesome-repositories.com/f/mobile-development/background-thread-networking.md) — Sends network requests on background threads and passes results to callbacks so the screen stays responsive while waiting for the server. ([source](https://github.com/android-async-http/android-async-http#readme))
- [REST API Clients](https://awesome-repositories.com/f/mobile-development/rest-api-clients.md) — Calls REST services from Android and delivers replies as parsed JSON or XML objects inside response callbacks.

### Networking & Communication

- [HttpClient Wrappers](https://awesome-repositories.com/f/networking-communication/httpclient-wrappers.md) — Wraps Apache HttpClient behind simpler request and response abstractions, hiding its verbose setup from Android developers.
- [Multipart File Uploads](https://awesome-repositories.com/f/networking-communication/http-file-uploads/large-file-uploads/multipart-file-uploads.md) — Sends files as multipart form uploads using only built-in code, with no extra third-party dependencies. ([source](https://github.com/android-async-http/android-async-http/blob/master/README.md))
- [Request Cancellations](https://awesome-repositories.com/f/networking-communication/network-request-clients/request-cancellations.md) — Cancels in-flight requests individually by handle, in groups by tag, or all at once when a screen closes. ([source](https://github.com/android-async-http/android-async-http/tree/1.4.11/sample/src/main/java/com/loopj/android/http/sample))
- [Tag-Based Cancellations](https://awesome-repositories.com/f/networking-communication/network-request-clients/request-cancellations/tag-based-cancellations.md) — Registers each in-flight request under a handle and optional tag so single requests, groups, or all can be cancelled.

### Software Engineering & Architecture

- [HTTP Request Callbacks](https://awesome-repositories.com/f/software-engineering-architecture/callback-driven-request-handling/http-request-callbacks.md) — Issues GET, POST, PUT, PATCH, DELETE, and HEAD requests asynchronously and reports success, failure, and cancellation through callbacks. ([source](https://github.com/android-async-http/android-async-http/tree/1.4.11/sample/src/main/java/com/loopj/android/http/sample))

### DevOps & Infrastructure

- [Request Retries](https://awesome-repositories.com/f/devops-infrastructure/api-service-management/api-resilience/request-retries.md) — Automatically resends failed requests using retry logic tuned for unreliable mobile connections. ([source](https://github.com/android-async-http/android-async-http#readme))
- [JSON Response Parsers](https://awesome-repositories.com/f/devops-infrastructure/response-parsing-utilities/json-response-parsers.md) — Converts server replies into JSON objects or streams and reads XML via a SAX parser inside the response callback. ([source](https://github.com/android-async-http/android-async-http/tree/1.4.11/sample/src/main/java/com/loopj/android/http/sample))
- [Pluggable Response Parsers](https://awesome-repositories.com/f/devops-infrastructure/response-parsing-utilities/pluggable-response-parsers.md) — Offers swappable response handler classes that convert raw replies into text, JSON objects, XML through SAX, or files.

### Security & Cryptography

- [Session-Cookie Persistences](https://awesome-repositories.com/f/security-cryptography/session-cookie-handlers/session-cookie-persistences.md) — Saves server cookies on the device and sends them with later requests so login state survives app restarts. ([source](https://github.com/android-async-http/android-async-http#readme))

### Web Development

- [Request Parameter Formatting](https://awesome-repositories.com/f/web-development/request-body-handling/request-body-alterations/request-parameter-formatting.md) — Builds query strings and form bodies for GET and POST requests through a parameter builder, avoiding manual joining and encoding. ([source](https://github.com/android-async-http/android-async-http#readme))
