RxFirebase
RxJava binding APIs for Firebase Android SDK.
RxJava Version
Built and tested with RxJava 2.1.3
.
For RxJava1 compatible version, see rxjava1 branch.
Modules
firebase-auth
RxJava binding APIs for Firebase Authentication.
compile 'com.google.firebase:firebase-auth:11.6.0'
compile 'com.androidhuman.rxfirebase2:firebase-auth:11.6.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.1.3'
firebase-auth-kotlin
Kotlin support module for firebase-auth
.
compile 'com.google.firebase:firebase-auth:11.6.0'
compile 'com.androidhuman.rxfirebase2:firebase-auth-kotlin:11.6.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.1.3'
firebase-database
RxJava binding APIs for Firebase Realtime Database Android SDK.
compile 'com.google.firebase:firebase-database:11.6.0'
compile 'com.androidhuman.rxfirebase2:firebase-database:11.6.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.1.3'
firebase-database-kotlin
Kotlin support module for firebase-database
compile 'com.google.firebase:firebase-database:11.6.0'
compile 'com.androidhuman.rxfirebase2:firebase-database-kotlin:11.6.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.1.3'
Each kotlin support module maps all methods in Java module into an extension function on following classes:
- firebase-auth-kotlin
- firebase-database-kotlin
Basically, extension function has same name of methods in RxXXX
classes in Java module.
If extension function conflicts with a method in a class that is being extended, it will be renamed with rx
prefix.
For more details, please refer to following 'Usage' section.
Usage
See official documentation for the details.
Versioning
RxFirebase uses a versioning rule that is related to corresponding Firebase's version by following rule:
RxFirebaseVersion : {major}.{minor}.{patch1}.{patch2} =
{Firebase major}.{Firebase minor}.{Firebase patch}.{RxFirebase patch}
For example, a library version that depends on 10.2.0
version of Firebase SDK, whose patch version is 1
will be 10.2.0.1
.
Development Snapshot
Snapshots of the development version are available in Sonatype snapshots repository.
You can register snapshots repo as your project's remote repo as following:
repositories {
... other remote repositories ...
// Add following line
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
Currently no snapshot version is available.
License
Copyright 2016-2017 Taeho Kim <jyte82@gmail.com>
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.