/RxFirebase

RxJava binding APIs for Firebase.

Primary LanguageJavaApache License 2.0Apache-2.0

RxFirebase

CircleCI Coverage Status Maven Central Android Arsenal

RxJava binding APIs for Firebase Android SDK.

RxJava Version

Currently, it depends on RxJava 2.0.7.

For RxJava1 compatible version, see rxjava1 branch.

Modules

firebase-auth

RxJava binding APIs for Firebase Authentication.

compile 'com.google.firebase:firebase-auth:10.2.0'
compile 'com.androidhuman.rxfirebase2:firebase-auth:10.2.0.0'
compile 'io.reactivex.rxjava2:rxjava:2.0.7'

firebase-auth-kotlin

Kotlin support module for firebase-auth.

compile 'com.google.firebase:firebase-auth:10.2.0'
compile 'com.androidhuman.rxfirebase2:firebase-auth-kotlin:10.2.0.0'
compile 'io.reactivex.rxjava2:rxjava:2.0.7'

firebase-database

RxJava binding APIs for Firebase Realtime Database Android SDK.

compile 'com.google.firebase:firebase-database:10.2.0'
compile 'com.androidhuman.rxfirebase2:firebase-database:10.2.0.0'
compile 'io.reactivex.rxjava2:rxjava:2.0.7'

firebase-database-kotlin

Kotlin support module for firebase-database

compile 'com.google.firebase:firebase-database:10.2.0'
compile 'com.androidhuman.rxfirebase2:firebase-database-kotlin:10.2.0.0'
compile 'io.reactivex.rxjava2:rxjava:2.0.7'

Each kotlin support module maps all methods in Java module into an extension function on following classes:

  • firebase-auth-kotlin
    • FirebaseAuth
    • FirebaseUser
  • firebase-database-kotlin
    • DatabaseReference
    • Query

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.