ReactiveNetwork - Android library listening network connection state and Internet connectivity with RxJava Observables

  •        525

ReactiveNetwork is an Android library listening network connection state and Internet connectivity with RxJava Observables. It's a successor of Network Events library rewritten with Reactive Programming approach. Library supports both new and legacy network monitoring strategies. Min sdk version = 9. Please note: Due to memory leak in WifiManager reported in issue 43945 in Android issue tracker it's recommended to use Application Context instead of Activity Context.

http://pwittchen.github.io/ReactiveNetwork/docs/RxJava2.x/
https://github.com/pwittchen/ReactiveNetwork

Tags
Implementation
License
Platform

   




Related Projects

Connectivity - 🌐 Makes Internet connectivity detection more robust by detecting Wi-Fi networks without Internet access

  •    Swift

Connectivity is a wrapper for Apple's Reachability providing a reliable measure of whether Internet connectivity is available where Reachability alone can only indicate whether an interface is available that might allow a connection. Connectivity's objective is to solve the captive portal problem whereby an iOS device is connected to a WiFi network lacking Internet connectivity. Such situations are commonplace and may occur for example when connecting to a public WiFi network which requires the user to register before use. Connectivity can detect such situations enabling you to react accordingly.

NetworkEvents - Android library listening network connection state and change of the WiFi signal strength with event bus

  •    Java

Android library listening network connection state and change of the WiFi signal strength with event bus. It works with any implementation of the Event Bus. In this repository you can find samples with Otto and GreenRobot's bus.

network-connection-class - Listen to current network traffic in the app and categorize the quality of the network

  •    Java

Network Connection Class is an Android library that allows you to figure out the quality of the current user's internet connection. The connection gets classified into several "Connection Classes" that make it easy to develop against. The library does this by listening to the existing internet traffic done by your app and notifying you when the user's connection quality changes. Developers can then use this Connection Class information and adjust the application's behaviour (request lower quality images or video, throttle type-ahead, etc).Network Connection Class currently only measures the user's downstream bandwidth. Latency is also an important factor, but in our tests, we've found that bandwidth is a good proxy for both.

cordova-plugin-network-information - Mirror of Apache Cordova Plugin network-information

  •    Objective-C

This plugin provides an implementation of an old version of the Network Information API. It provides information about the device's cellular and wifi connection, and whether the device has an internet connection.To get a few ideas how to use the plugin, check out the sample at the bottom of this page or go straight to the reference content.

tinyproxy - tinyproxy - a light-weight HTTP/HTTPS proxy daemon for POSIX operating systems

  •    C

Tinyproxy is a small, efficient HTTP/SSL proxy daemon released under the GNU General Public License. Tinyproxy is very useful in a small network setting, where a larger proxy would either be too resource intensive, or a security risk. One of the key features of Tinyproxy is the buffering connection concept. In effect, Tinyproxy will buffer a high speed response from a server, and then relay it to a client at the highest speed the client will accept. This feature greatly reduces the problems with sluggishness on the Internet. If you are sharing an Internet connection with a small network, and you only want to allow HTTP requests to be allowed, then Tinyproxy is a great tool for the network administrator. For more info, please visit the Tinyproxy web site.


OfflineSampleApp - Sample Offline-First MVVM app that uses Android Priority Job Queue, Room, Retrofit2, LiveData, LifecycleObserver, RxJava2, Dagger Android

  •    Java

Offline App (or Offline-First App) enables user to seamlessly interact with it by using local device storage and then synchronizing the data with some remote storage (cloud database, etc) later via a background process. This app is a working sample that showcases one way of implementing offline commenting capability on Android platform. Users' comments are stored in local Room database first. Then a background job is spawned to synchronize local data with remote database if and when Internet connection is available.

is-online - Check if the internet connection is up

  •    Javascript

Works in Node.js and the browser (with browserify/webpack).In the browser you have navigator.onLine, but it's useless as it only tells you if there's a local connection, and not whether the internet is accessible.

react-network - Notifies your app when the network goes offline and back online.

  •    HTML

Notifies your app when the network connection goes online or offline.Because the next billion users of the internet will have a decent device but a spotty connection. Having a component to help you declaratively deal with that is super fantastic.

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

  •    Java

Fast Android Networking Library is a powerful library for doing any type of networking in Android applications which is made on top of OkHttp Networking Layer. Fast Android Networking Library takes care of each and everything. So you don't have to do anything, just make request and listen for the response.

KouChat - Serverless, LAN chat application for the desktop and Android.

  •    Java

KouChat is an open source, serverless, LAN chat application for the desktop and Android. With KouChat you can chat and send files to other KouChat users on the same local area network. It’s intended to be used on your network at home, the coffee shop, work place or similar, and does not require any setup, Internet connection or servers to function.

VPNHotspot - Share your VPN connection over hotspot or repeater! (root required)

  •    Kotlin

P.S. You can also do the similar on Windows, Mac, and iOS. I don't know about you but I can't get my stupid Windows 10 to work with hosted network now that they introduced this Mobile hotspot. This app is designed to do only minimal changes to your system, so there's almost no chance you will brick your device and/or break your Internet using this app under normal conditions. However there's also absolutely no guarantee it won't.

Zmap - The Internet Scanner

  •    C

ZMap is an open-source network scanner that enables researchers to easily perform Internet-wide network studies. With a single machine and a well provisioned network uplink, ZMap is capable of performing a complete scan of the IPv4 address space in under 45 minutes, approaching the theoretical limit of gigabit Ethernet. ZMap can be used to study protocol adoption over time, monitor service availability, and help us better understand large systems distributed across the Internet.

RxJava2-Android-Samples - RxJava 2 Android Examples - Migration From RxJava 1 to RxJava 2 - How to use RxJava 2 in Android

  •    Java

RxJava 2.0 has been completely rewritten from scratch on top of the Reactive-Streams specification. The specification itself has evolved out of RxJava 1.x and provides a common baseline for reactive systems and libraries. Because Reactive-Streams has a different architecture, it mandates changes to some well known RxJava types.

Kolibri - The offline app for universal education

  •    Python

Kolibri is a Learning Management System / Learning App designed to run on low-power devices, targeting the needs of learners and teachers in contexts with limited infrastructure. A user can install Kolibri and serve the app on a local network, without an internet connection. Kolibri installations can be linked to one another, so that user data and content can be shared. Users can create content for Kolibri and share it when there is network access to another Kolibri installation or the internet.

sidestep - A Mac OS X application that automatically secures your Internet connection in unprotected wireless networks through SSH tunneling

  •    Objective-C

When you connect to the Internet through an unprotected wireless network, such as at a coffeeshop or an airport, where you don’t have to enter a security key, you’re putting yourself at risk. Attackers connected to the same network can easily intercept your unencrypted traffic and log in as you to services such as Facebook, Amazon, and LinkedIn.

proxygambit - Anonymize and fracture network traffic/Internet access over a point-to-point wireless link or through TCP->GSM->wifi tunnel (advanced resurrection of ProxyHam)

  •    Arduino

ProxyGambit is a simple anonymization device that allows you to access the Internet from anywhere in the world without revealing your true location or IP, fracturing your traffic from the Internet/IP through either a long distance radio link or a reverse tunneled GSM bridge that ultimately drops back onto the Internet and exits through a wireless network you're no where near. While a point to point link is supported, the reverse GSM-to-TCP bridge allows you to proxy from thousands of miles away with nothing other than a computer and Internet with no direct link back to your originating machine.

Elephant - Elephant is PHPHub Community Android unofficial client, base on Material Design + MVP+RxJava+Retrofit

  •    Java

PHPHub is a Forum project written in Laravel 4.2, and it is also the project build up PHP & Laravel China community. Elephant is PHPHub Community Android unofficial client, App UI style follows the Google Material Design, architecture project using MVP mode, the data processing using RxJava + Retrofit network data processing.

merlin - Observes network connection status & gives callbacks

  •    Java

Merlin aims to simplify network monitoring. Providing 3 registerable callbacks for network connectivity changes. onConnect() , onDisconnect() and onBind(NetworkStatus networkStatus).

SplinterNet - A serverless, unblockable messaging system for Android.

  •    Java

SplinterNet is an Android app designed to create an unblockable Twitter like network that uses no cellular or Internet communications. All messages are transmitted over Bluetooth between users, creating a true peer-to-peer messaging system. All messages are anonymous to prevent retaliation by government authorities. During times of civil unrest, governments have recently demonstrated a willingness to completely shut down Internet connections and cellular networks as a method of disrupting the organization of citizens. Additionally many governments filter politically-sensitive content, and spy on their citizens' network activity. SplinterNet provides a way to avoid government control of communications by creating a network with no central point of control.