Skip to content

YouClap/RxFirebase

 
 

Repository files navigation

RxFirebase

CircleCI codecov Maven Central Android Arsenal

RxJava binding APIs for Firebase Android SDK.

RxJava Version

Built and tested with RxJava 2.1.8.

RxJava1 compatible version is no longer supported.

Modules

firebase-auth

RxJava binding APIs for Firebase Authentication.

implementation 'com.google.firebase:firebase-auth:11.8.0'
implementation 'com.androidhuman.rxfirebase2:firebase-auth:11.8.0.1'
implementation 'io.reactivex.rxjava2:rxjava:2.1.8'

firebase-auth-kotlin

Kotlin support module for firebase-auth.

implementation 'com.google.firebase:firebase-auth:11.8.0'
implementation 'com.androidhuman.rxfirebase2:firebase-auth-kotlin:11.8.0.1'
implementation 'io.reactivex.rxjava2:rxjava:2.1.8'

firebase-database

RxJava binding APIs for Firebase Realtime Database Android SDK.

implementation 'com.google.firebase:firebase-database:11.8.0'
implementation 'com.androidhuman.rxfirebase2:firebase-database:11.8.0.1'
implementation 'io.reactivex.rxjava2:rxjava:2.1.8'

firebase-database-kotlin

Kotlin support module for firebase-database

implementation 'com.google.firebase:firebase-database:11.8.0'
implementation 'com.androidhuman.rxfirebase2:firebase-database-kotlin:11.8.0.1'
implementation 'io.reactivex.rxjava2:rxjava:2.1.8'

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

  • firebase-auth-kotlin
    • FirebaseAuth
    • FirebaseUser
    • PhoneAuthProvider
  • 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.

About

RxJava binding APIs for Firebase.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 49.7%
  • Java 47.4%
  • XSLT 2.9%