All Projects → musichin → ReactiveLiveData

musichin / ReactiveLiveData

Licence: MIT License
Transformation functions for LiveData

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to ReactiveLiveData

TeamManagerApp
A sample app structure using the MVVM architecture LiveData, RxJava, ViewModel, Room and the Navigation Arch Components.
Stars: ✭ 36 (-55%)
Mutual labels:  livedata, architecture-components
Melon
UNES, o aplicativo que cria notificações para as ações do Portal Sagres.
Stars: ✭ 41 (-48.75%)
Mutual labels:  architecture-components, androidx
Android-MVVM-News-App
MVVM News Application with clean code architecture & android jetpack components.
Stars: ✭ 38 (-52.5%)
Mutual labels:  livedata, architecture-components
Mvvmframe
🏰 MVVMFrame for Android 是一个基于Google官方推出的Architecture Components dependencies(现在叫JetPack){ Lifecycle,LiveData,ViewModel,Room } 构建的快速开发框架。有了MVVMFrame的加持,从此构建一个MVVM模式的项目变得快捷简单。
Stars: ✭ 218 (+172.5%)
Mutual labels:  livedata, architecture-components
Android-Mvi-Starter
Android MVI Starter application
Stars: ✭ 19 (-76.25%)
Mutual labels:  livedata, architecture-components
livedata-recyclerview-sample
No description or website provided.
Stars: ✭ 76 (-5%)
Mutual labels:  livedata, architecture-components
KTAndroidArchitecture
A Kotlin android architecture with Google Architecture Components
Stars: ✭ 33 (-58.75%)
Mutual labels:  livedata, architecture-components
Price Tracker
Price Tracking Application - An experimental Kotlin Android project with complex android app requirements.
Stars: ✭ 80 (+0%)
Mutual labels:  livedata, architecture-components
Superhero-App
🦸🏻‍♂️🦹🏻‍♀️Superhero app built with Kotlin, ViewModel, LiveData, ViewBinding, Room, and Hilt
Stars: ✭ 27 (-66.25%)
Mutual labels:  livedata, architecture-components
AndroidCleanArchitecture
Android Project with clean android architecture contain Dagger, Retrofit, Retrofit, Android archtecture components, LiveData with MVVM architecture
Stars: ✭ 22 (-72.5%)
Mutual labels:  livedata, architecture-components
Fountain
Android Kotlin paged endpoints made easy
Stars: ✭ 175 (+118.75%)
Mutual labels:  livedata, architecture-components
movies
An example approach for modularization, reactive clean architecture and persistancy.
Stars: ✭ 110 (+37.5%)
Mutual labels:  livedata, architecture-components
Movieapp Clean Architecture
Learning Project (Movie App) For Applying Android Architecture Components And Clean Architecture Using MVVM With Kotlin
Stars: ✭ 123 (+53.75%)
Mutual labels:  livedata, architecture-components
Restaurants
Restaurants sample app built with the new architecture components (LiveData, Room, ViewModel) and Dagger 2
Stars: ✭ 47 (-41.25%)
Mutual labels:  livedata, architecture-components
Livedatabinding
Kotlin example with LiveData and Data Binding usage
Stars: ✭ 108 (+35%)
Mutual labels:  livedata, architecture-components
Clean-MVVM-NewsApp
Android News app developed using Clean + MVVM architecture
Stars: ✭ 52 (-35%)
Mutual labels:  livedata, androidx
Kotlin Pokedex
🌀 A Pokedex app using ViewModel, LiveData, Room and Navigation
Stars: ✭ 1,156 (+1345%)
Mutual labels:  livedata, architecture-components
Elements
⚒ Modular components for RecyclerView development enforcing clean, reusable and testable code, with built-in support for paging and complex hierarchies of data.
Stars: ✭ 75 (-6.25%)
Mutual labels:  livedata, architecture-components
Simple-Notes-Kotlin-App
✍️ Simple Note Making App use mvvm architecture , dagger , coroutines and navigation component. Features includes 🗒️ create , edit and ❌ delete notes
Stars: ✭ 40 (-50%)
Mutual labels:  livedata, architecture-components
LiveData-DataBinding-Kotlin
Sample to practice LiveData + DataBinding
Stars: ✭ 89 (+11.25%)
Mutual labels:  livedata, architecture-components

Reactive LiveData

Kotlin CI codecov Maven Central

This library provides basic transformation functions for your LiveData objects.

Functions

  • map
  • switchMap
  • switchLatest
  • filter
  • filterNotNull
  • distinct
  • distinctUntilChanged
  • merge
  • combineLatest
  • startWith
  • first
  • take
  • takeUntil
  • takeWhile
  • buffer
  • cast
  • and more...

Usage

filter

val source: LiveData<Int> = // 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
source.filter { it % 2 == 1 }.observe(this) {
    println(it) // 1, 3, 5, 7, 9
}

distinct

val source: LiveData<Int> = // 1, 2, 1, 3, 2, 4, 1, 3, 2, 5
source.distinct().observe(this) {
    println(it) // 1, 2, 3, 4, 5
}

distinctUntilChanged

val source: LiveData<Int> = // 1, 2, 2, 3, 4, 4, 4, 5
source.distinctUntilChanged().observe(this) {
    println(it) // 1, 2, 3, 4, 5
}

Binaries

repositories {
    mavenCentral()
}

dependencies {
    implementation 'de.musichin.reactivelivedata:reactivelivedata:x.y.z'
}

Contributing

Contributors are more than welcome. Just upload a PR with a description of your changes.

Issues or feature requests?

File github issues for anything that is unexpectedly broken.

License

MIT License

Copyright (c) 2017 Anton Musichin

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].