To use the Firebase Realtime Database Android SDK with Kotlin Extensions, add the following
to your app's build.gradle file:
// See maven.google.com for the latest versions
// This library transitively includes the firebase-database library
implementation 'com.google.firebase:firebase-database-ktx:$VERSION'Kotlin
val database = FirebaseDatabase.getInstance()
val anotherDatabase = FirebaseDatabase.getInstance(FirebaseApp.getInstance("myApp"))Kotlin + KTX
val database = Firebase.database
val anotherDatabase = Firebase.database(Firebase.app("myApp"))Kotlin
val database = FirebaseDatabase.getInstance(url)Kotlin + KTX
val database = Firebase.database(url)Kotlin
val database = FirebaseDatabase.getInstance(app, url)Kotlin + KTX
val database = Firebase.database(app, url)Kotlin
val snapshot: DataSnapshot = ...
val myObject = snapshot.getValue(MyClass::class.java)Kotlin + KTX
val snapshot: DocumentSnapshot = ...
val myObject = snapshot.getValue<MyClass>()Kotlin
val snapshot: DataSnapshot = ...
val typeIndicator = object : GenericTypeIndicator<List<Message>>() {}
val messages: List<Message> = snapshot.getValue(typeIndicator)Kotlin + KTX
val snapshot: DocumentSnapshot = ...
val messages: List<Message> = snapshot.getValue<List<@JvmSuppressWildcards Message>>()Kotlin
override fun doTransaction(mutableData: MutableData): Transaction.Result {
val post = mutableData.getValue(Post::class.java)
// ...
}Kotlin + KTX
override fun doTransaction(mutableData: MutableData): Transaction.Result {
val post = mutableData.getValue<Post>()
// ...
}