explaingit

yanzhenjie/nohttp

Analysis updated 2026-07-03

3,730JavaAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

An Android networking library for Java that handles HTTP requests, file uploads, response caching, and cookie management, the author now recommends its successor Kalle for new projects.

Mindmap

mindmap
  root((NoHttp))
    What it does
      HTTP requests in Android
      File upload and download
      Response caching
    Core Features
      Sync and async requests
      Request queue
      Cookie persistence
      Global headers
      Auto retry logic
    Network Engines
      HttpURLConnection
      OkHttp
    Integrations
      RxJava
      Custom request types
    Status
      Legacy library
      Kalle recommended
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add NoHttp to an existing Android Java app to handle REST API calls with built-in queue management and automatic retry on failure.

USE CASE 2

Use the built-in response cache to store API responses so your Android app works offline or loads faster on repeat visits.

USE CASE 3

Upload a file from an Android device to a server using NoHttp's multipart upload support without writing low-level connection code.

USE CASE 4

Set global authentication headers once during app startup so every outgoing request automatically includes the token.

What is it built with?

JavaAndroidOkHttp

How does it compare?

yanzhenjie/nohttpdatalinkdc/dinkyirisshaders/iris
Stars3,7303,7323,727
LanguageJavaJavaJava
Setup difficultyeasyhardmoderate
Complexity2/54/53/5
Audiencedeveloperdatageneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Documentation is primarily in Chinese, the author recommends using the successor library Kalle for new projects.

Licensed under Apache 2.0, use freely in any project, including commercial Android apps, with no copyleft requirements.

In plain English

NoHttp is an Android networking library written in Java that handles HTTP requests within mobile apps. When an Android app needs to fetch data from a server, upload a file, or communicate with a web API, it needs a networking layer to manage those connections. NoHttp provides that layer with support for both synchronous and asynchronous requests, caching, cookies, and file downloads. The library supports two underlying network engines: Android's built-in HttpURLConnection and OkHttp. Developers can switch between them by changing a dependency in the build file, without rewriting their request code. A request queue handles multiple concurrent requests, with support for canceling individual requests or clearing the queue when a screen is closed. A separate executor handles one-off async requests without a queue. Response caching is built in, with options to store cached data in a database or on disk. Cookie storage is also automatic and can be persisted across app sessions. Developers can set global headers and parameters that are attached to every outgoing request, which is useful for things like authentication tokens or app version information. Retry logic can be configured globally so that failed requests are automatically retried a specified number of times. The README is written primarily in Chinese and is aimed at Chinese-speaking Android developers. The documentation is detailed, covering initialization, queue management, cache configuration, file uploads and downloads, custom request types, and integration with third-party async frameworks like RxJava. The author also notes in the README that a newer and more complete successor library called Kalle is available and recommends that new projects use it instead. NoHttp is licensed under Apache 2.0. The project remains maintained for existing users but is no longer the recommended starting point according to the author.

Copy-paste prompts

Prompt 1
I'm adding NoHttp to an Android Java project. Show me the Gradle dependency line, the initialization code in Application.onCreate, and a simple GET request that parses a JSON response.
Prompt 2
Write an Android Java snippet using NoHttp that uploads an image file to a REST endpoint, shows upload progress, and handles success and error callbacks.
Prompt 3
How do I configure NoHttp to cache GET responses to disk and serve them when the device is offline? Show the cache setup code and a request that uses it.
Prompt 4
I want to migrate from NoHttp to Kalle in my Android project. What are the main API differences I need to change in my request code?

Frequently asked questions

What is nohttp?

An Android networking library for Java that handles HTTP requests, file uploads, response caching, and cookie management, the author now recommends its successor Kalle for new projects.

What language is nohttp written in?

Mainly Java. The stack also includes Java, Android, OkHttp.

What license does nohttp use?

Licensed under Apache 2.0, use freely in any project, including commercial Android apps, with no copyleft requirements.

How hard is nohttp to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is nohttp for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub yanzhenjie on gitmyhub

Verify against the repo before relying on details.