finds.dev← search

// the find

koush/AndroidAsync

★ 7,541 · Java · NOASSERTION · updated Nov 2022

Asynchronous socket, http(s) (client+server) and websocket library for android. Based on nio, not threads.

AndroidAsync is a NIO-based networking library for Android that handles raw sockets, HTTP client/server, and WebSockets on a single thread with a callback-driven model. It predates OkHttp's dominance and was the foundation for Ion, the author's higher-level HTTP client. Useful today mainly if you're maintaining something already built on it, or need an embedded HTTP server on-device.

Single-threaded NIO design avoids thread pool overhead and makes concurrency reasoning straightforward — all callbacks fire on one thread so you don't need synchronization on your own state. The middleware pipeline for the HTTP client is well-designed: plugging in caching, SSL, or custom interceptors is clean. HTTP server support is genuinely useful for local device-to-device communication scenarios where spinning up a full server framework would be overkill. Test coverage is substantial for a library of this age, with dedicated test files for cache, SSL, WebSocket, multipart, redirects, and proxy.

Last meaningful commit was 2022; the Android networking landscape has moved to OkHttp + Retrofit (or Ktor for Kotlin) and there's no indication this will keep pace with TLS changes or new Android API requirements. The callback-first API is painful in 2026 — no coroutine support, no Flow, and the Kotlin module in the repo is a thin wrapper with essentially no tests. No HTTP/2 support at all, which matters if you're hitting any modern API. The pre-built singleton pattern (`AsyncHttpClient.getDefaultInstance()`) discourages proper DI and makes testing harder than it should be.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →