awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
koush avatar

koush/ion

0
View on GitHub↗
6,269 stars·1,028 forks·Java·other·6 vues

Ion

Ion is an asynchronous HTTP client library for Android that handles network requests, JSON parsing, image loading, and file downloads. It provides a fluent builder pattern for constructing requests and supports automatic JSON deserialization into Java objects using Gson, along with in-memory image caching and multipart form-data encoding.

The library distinguishes itself through its support for request cancellation via Future objects, allowing individual or bulk cancellation of in-flight requests to avoid wasted bandwidth and stale callbacks. It also includes proxy-aware request routing for debugging or network isolation, progress callbacks for file downloads, and request timing logging for performance monitoring.

Ion covers the full lifecycle of network communication on Android, from fetching data asynchronously and posting data to servers to loading remote images into views with placeholders and error states. The library is distributed as a Java library with documentation covering its API surface.

Features

  • Android - Making HTTP requests from Android apps with support for JSON, file downloads, and image loading.
  • HTTP Client Libraries - An asynchronous HTTP client for Android that supports request cancellation, JSON parsing, image loading, and file downloads with progress tracking.
  • Image Loading and Caching - Fetch an image from a URL and display it in a view with caching, placeholders, error states, and animations.
  • Asynchronous Data Fetching - Fetch HTTP resources in the background without blocking the user interface thread.
  • JSON Fetching Libraries - Download JSON from a remote server and parse it into a JsonObject or a custom Java type using Gson.
  • Android Image Loading - Fetching and displaying remote images in Android views with caching, placeholders, and error handling.
  • API Data Consumption - Downloading and parsing JSON from REST APIs into Java objects using Gson on Android.
  • JSON Deserializers - Incoming JSON responses are automatically parsed into Java objects using the Gson library.
  • Background Thread Dispatchers - Network I/O runs on a separate thread pool, keeping the UI thread free from blocking operations.
  • Builder Patterns - Requests are constructed by chaining method calls on a builder object, enabling readable sequential configuration.
  • Multipart Uploads - POST requests support multipart/form-data bodies for file uploads and complex form submissions.
  • Android - An image loading component that fetches remote images with caching, placeholders, error states, and fade-in animations.
  • Fluent Builder Chains - Build HTTP requests and image loads using a sequential method-call syntax for readability.
  • Image Caches - Downloaded images are stored in a memory cache with configurable size limits and automatic eviction.
  • Download Progress Tracking - File downloads expose a callback that reports bytes transferred and total size for progress tracking.
  • Request Cancellations - Cancel one or more in-flight network requests by calling cancel on a Future or by cancelling all requests in a group.
  • Future-Based Cancellations - Each HTTP request returns a Future object that can be cancelled individually or grouped for bulk cancellation.
  • Remote File Downloads - Write a remote file to local storage while reporting download progress through a callback or UI widget.
  • Download Progress Tracking - Downloading remote files to local storage on Android while tracking and displaying download progress.
  • Progress-Tracking File Downloads - A file download utility that writes remote files to local storage while reporting progress through callbacks or UI widgets.
  • Form Data Submission - Send HTTP POST requests with text, JSON, form-encoded, or multipart/form-data bodies and read the response.
  • Networking - Asynchronous networking and image loading.
  • Networking and API - Networking library for android.
  • Bibliothèques réseau - Facilitates asynchronous networking and image loading tasks.

Historique des stars

Graphique de l'historique des stars pour koush/ionGraphique de l'historique des stars pour koush/ion

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Ion

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Ion.
  • bitinn/node-fetchAvatar de bitinn

    bitinn/node-fetch

    8,861Voir sur GitHub↗

    node-fetch is a lightweight HTTP client library that implements the browser-standard Fetch API for Node.js. It provides a promise-based interface for making asynchronous network requests to retrieve or send data from server-side environments. The project specializes in memory-efficient data handling by utilizing request and response streaming. This allows for the incremental processing of large network payloads through native system streams to prevent memory exhaustion. The library covers a broad range of networking capabilities, including the use of custom HTTP agents for DNS and SSL config

    JavaScript
    Voir sur GitHub↗8,861
  • kittinunf/fuelAvatar de kittinunf

    kittinunf/fuel

    4,652Voir sur GitHub↗

    Fuel is a Kotlin HTTP client library for Android and Kotlin applications that handles both synchronous and asynchronous web requests. It functions as a network wrapper that supports executing calls via suspending functions in coroutines, reactive streams, and traditional callbacks. The library features built-in integration for Android LiveData to bind network responses directly to observable state holders for user interface updates. It also includes a JSON serialization client that utilizes customizable mappers to convert raw HTTP response bodies into structured data objects. Capability area

    Kotlinandroidhttp-clientkotlin
    Voir sur GitHub↗4,652
  • amitshekhariitbhu/androidnetworkingAvatar de amitshekhariitbhu

    amitshekhariitbhu/AndroidNetworking

    5,906Voir sur GitHub↗

    AndroidNetworking is an HTTP networking library for Android that handles the full lifecycle of network communication, from sending requests to parsing responses and caching data. It provides a unified interface for executing GET, POST, PUT, DELETE, HEAD, and PATCH requests, with support for both synchronous and asynchronous execution, and includes built-in JSON response parsing that converts server responses directly into Java objects or lists. The library distinguishes itself through a set of integrated capabilities that go beyond basic request execution. It manages file downloads and upload

    Java
    Voir sur GitHub↗5,906
  • amitshekhariitbhu/fast-android-networkingAvatar de amitshekhariitbhu

    amitshekhariitbhu/Fast-Android-Networking

    5,906Voir sur GitHub↗

    🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀

    Java
    Voir sur GitHub↗5,906
Voir les 30 alternatives à Ion→

Questions fréquentes

Que fait koush/ion ?

Ion is an asynchronous HTTP client library for Android that handles network requests, JSON parsing, image loading, and file downloads. It provides a fluent builder pattern for constructing requests and supports automatic JSON deserialization into Java objects using Gson, along with in-memory image caching and multipart form-data encoding.

Quelles sont les fonctionnalités principales de koush/ion ?

Les fonctionnalités principales de koush/ion sont : Android, HTTP Client Libraries, Image Loading and Caching, Asynchronous Data Fetching, JSON Fetching Libraries, Android Image Loading, API Data Consumption, JSON Deserializers.

Quelles sont les alternatives open-source à koush/ion ?

Les alternatives open-source à koush/ion incluent : bitinn/node-fetch — node-fetch is a lightweight HTTP client library that implements the browser-standard Fetch API for Node.js. It… kittinunf/fuel — Fuel is a Kotlin HTTP client library for Android and Kotlin applications that handles both synchronous and… amitshekhariitbhu/androidnetworking — AndroidNetworking is an HTTP networking library for Android that handles the full lifecycle of network communication,… amitshekhariitbhu/fast-android-networking — 🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀. square/okhttp — OkHttp is an HTTP client for the JVM and Android that enables network communication via synchronous and asynchronous… node-fetch/node-fetch — node-fetch is a promise-based HTTP client library that provides a lightweight implementation of the Fetch API for the…