learn RxJava in new way!

Overview

RxLab

amazing tool to learn ReactiveX Programming with animation, schedulers and time project on GitHub.

this is an open source Android application written in Kotlin to let you understand how ReactiveX Programming works, this app will show you the real behavior of Reactive Programming depending on time and threads, with snippets of code written in RxJava 3.0.6.

for example, just operation:

download app on Google Play:
SpeedView Demo on Google Play

CPU with 4 cores at least is recommended, and screen with large width.

You can read all instructions in this story on Medium.

do you want to know how scan operation works?

or you may don't know the difference between flatMap and concatMap?

and more...

Description

this is small description for emit:

  1. emit color points to the observable that coming from.
  2. value.
  3. the color points to the current thread.
    • main thread.
    • computation thread.
    • io thread.
    • single thread.
    • other.
  4. thread index that in use.

takeTime(emit) you will see this method in code, simply it will take random time to simulate a long operation, then it will return the emit.

Operators

this app covered this operators:

  • buffer
  • combineLatest
  • concatMap
  • contains
  • create
  • distinct
  • distinctUntilChanged
  • elementAt
  • filter
  • flatMap
  • fromArray
  • fromIterable
  • interval
  • just
  • map
  • merge
  • range
  • reduce
  • scan
  • skip
  • sorted
  • switchMap
  • take
  • takeLast
  • throttleFirst
  • throttleLast
  • throttleWithTimeout
  • toList
  • zip

and more coming soon..

Libraries used in this app

LICENSE


Copyright 2020 Anas Altair

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

You might also like...
TSBattery a new way to save your battery avoid cancer apps hacker it.

TSBattery TSBattery a new way to save your battery avoid cancer apps hacker it. TSBattery 是一个旨在使 QQ、TIM 变得更省电的开源 Xposed 模块 Get startted 此模块支持原生 Xposed

Gradm (Gradle dependencies manager) is a new way to manage dependencies easier and more efficient.

Gradm (Gradle dependencies manager) is a new way to manage dependencies easier and more efficient.

An easy way to customize your log in Android,including output to console, writing log to file in high performance way and so on

EasyLog An easy way to customize your log in Android,including output to console, writing log to file in high performance way and so on. 1. Initializa

RxJava bindings for Android

RxAndroid: Reactive Extensions for Android Android specific bindings for RxJava 3. This module adds the minimum classes to RxJava that make writing re

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

RxJava: Reactive Extensions for the JVM RxJava is a Java VM implementation of Reactive Extensions: a library for composing asynchronous and event-base

Android Viper template with Kotlin, Dagger 2, Retrofit & RxJava
Android Viper template with Kotlin, Dagger 2, Retrofit & RxJava

Android VIPER Architecture Example This repository contains a detailed sample client-server app that implements VIPER(View-Interactor-Presenter-Entity

Postman is a reactive One-tap SMS verification library. This library allows the usage of RxJava with The SMS User Consent API
Postman is a reactive One-tap SMS verification library. This library allows the usage of RxJava with The SMS User Consent API

What is Postman? Postman is a reactive One-tap SMS verification library. This library allows the usage of RxJava with The SMS User Consent API Usage P

Materially inspired widgets and views that expose RxJava bindings.

Rx.Widgets Materially inspired widgets and views. Use ExpandableButtonGroup Add the widget to your view: io.andref.rx.widgets.ExpandableButtonGro

RxJava 2.x extension to provide meaningful Stack Traces
RxJava 2.x extension to provide meaningful Stack Traces

RxJava2Debug A library to make StackTraces involving RxJava2 more meaningful (they will always point to your code!). Rationale If you use RxJava2, you

Learning RxJava for Android by example

Learning RxJava for Android by example This is a repository with real-world useful examples of using RxJava with Android. It usually will be in a cons

Movie discovery app showcasing MVP, RxJava, Dagger 2 and Clean Architecture
Movie discovery app showcasing MVP, RxJava, Dagger 2 and Clean Architecture

MovieGuide 🚧 Refactoring in progress 👷‍♀️ ⛏ 👷 🔧️ 👷 🔧 🚧 Comments and new issues are welcome. 👍 Currently not accepting external PRs that touch

RxJava architecture library for Android
RxJava architecture library for Android

Reference Architecture for Android using RxJava This is an ambitious reference project of what can be done with RxJava to create an app based on strea

Functional Constructs for Databinding + Kotlin + RxJava

ObservableFlow Pt 1/3 Pt 2/3: Stepper Indicator Pt 3/3: SugarPreferences Functional Kotlin constructs like map(), filter() and 12 more functions built

Observe Android's CONNECTIVITY_CHANGE broadcasts using RxJava.

Rx.Network Listen for Android's CONNECTIVITY_CHANGE broadcasts. Use Add the ACCESS_NEWORK_STATE permission to AndroidManifest.xml uses-permission

RxJava binding APIs for Android's UI widgets.

RxBinding RxJava binding APIs for Android UI widgets from the platform and support libraries. Download Platform bindings: implementation 'com.jakewhar

Small library that wraps Google Play Service API in brilliant RxJava Observables reducing boilerplate to minimum.

ReactiveLocation library for Android Small library that wraps Google Play Services API in brilliant RxJava Observables reducing boilerplate to minimum

Dead simple EventBus for Android made with Kotlin and RxJava 2

KBus Super lightweight (13 LOC) and minimalistic (post(), subscribe(), unsubscribe()) EventBus written with idiomatic Kotlin and RxJava 2 KBus in 3 st

Showcase project of Functional Reactive Programming on Android, using RxJava.

FunctionalAndroidReference FunctionalAndroidReference is a showcase project of Functional Reactive Programming on Android, using RxJava. It's a compan

 RxDisposableWatcher — find leaked subscriptions in RxJava code 🐞
RxDisposableWatcher — find leaked subscriptions in RxJava code 🐞

Monitoring leaked Disposable subscriptions in RxJava code 🐞

Releases(V1.4)
:iphone: [Android Library] Get device information in a super easy way.

EasyDeviceInfo Android library to get device information in a super easy way. The library is built for simplicity and approachability. It not only eli

Nishant Srivastava 1.7k Dec 22, 2022
[Deprecated] Sexy way to execute async/background tasks on Android

Groundy library for Android @Deprecated Unfortunatenly this library is no longer maintained, we encourage you to use other widely supported solutions

Telly 228 Nov 14, 2022
A compose friendly way to deal with in app updates on android

In-App update compose A way to make in app updates in compose How to include in your project The library is available via MavenCentral: allprojects {

Stefan Wärting 25 Dec 31, 2022
Keep data as a linked list on disk. A alternative way to reduce redundant operation for DiskLruCache

DiskLinkedList Keep data as a linked list on disk. An alternative way to reduce redundant operation for DiskLruCache Use-case Android have build-in Di

Cuong V. Nguyen 6 Oct 29, 2021
This is a easy way to publish MQTT message and receive MQTT message

SMQ-CLIENT This is a easy way to publish MQTT message and receive MQTT message This is provider a spring stater for quick use Recive message form the

SUDA 1 Apr 25, 2022
Learn Jetpack Compose for Android by Examples. Learn how to use Jetpack Compose for Android App Development. Android’s modern toolkit for building native UI.

Learn Jetpack Compose for Android by Examples. Learn how to use Jetpack Compose for Android App Development. Android’s modern toolkit for building native UI.

MindOrks 382 Jan 5, 2023
malik dawar 87 Sep 18, 2022
A console-based game that helps you learn new words.

learn-language-game ?? ?? ?? This is a simple console-based game which helps you learn new words each day. Prerequisites An API-KEY is required from R

null 2 Jul 21, 2022
Showcase of the new AppCompat 21, which includes new Material Theme, working in pre-21 devices.

MaterialEverywhere (deprecated) This example is deprecated, I recommend taking a look at MaterializeYourApp repository. Showcase of the new AppCompat

Antonio Leiva 1.3k Dec 17, 2022
A new way to implement navigation in your app 🏎

ExpandableBottomBar A new way to improve navigation in your app Its really easy integrate to your project take it, faster, faster Important: library w

Alexander Dadukin 692 Dec 29, 2022