ArtemiyTerekhov / RxData

RxData is Android mobile library for building reactive data flow in Android application.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RxData Version PRs Welcome

RxData is Android mobile library for building reactive data flow in Android application.

Installation

Gradle is the only supported build configuration - please add the below line to your build.gradle:

implementation 'com.revolut.rxdata:dod:1.0'

Examples

You can find several examples of how RxData is used in Revolut application in this Revolut Tech article.

Here is the exemplary code that get you started in your application:

private val observePortfolio: DataObservableDelegate<Any, String, Portfolio> = DataObservableDelegate(
    fromNetwork = {
        tradingService.getPortfolio()
            .flatMap { portfolioDto ->
                getConfig().map { stocksConfig -> portfolioDto.toDomain(stocksConfig) }
            }         
    }

    // You can define other network / memory / storage lambdas here
)

Contribution

You can also take part in improving RxData codebase! We do appreciate community engagement in that project.

You can propose bugfix or improvement to this project by submitting a pull request.

When sharing the code, please make sure that your contribution follows the existing code convention to let keep the code clean and readable.

License

Copyright 2019 Revolut

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.

About

RxData is Android mobile library for building reactive data flow in Android application.

License:Apache License 2.0


Languages

Language:Kotlin 58.2%Language:Java 41.8%