RxData is Android mobile library for building reactive data flow in Android application.
Gradle is the only supported build configuration - please add the below line to your build.gradle:
implementation 'com.revolut.rxdata:dod:1.4.0'
implementation 'com.revolut.rxdata:core:1.4.0'
You can find several examples of how RxData is used in Revolut application in this Revolut Tech article. Also, fully documentation TBD soon here.
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
)
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.
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.