Я выучил Kotlin за 3 недели, поэтому я хотел бы прочитать данные из моей базы данных Firebase.
Это файл MainActivity.kt для записи данных.
val database = Firebase.database
val latitude = latitude.text.toString().toDouble()
val reflatitude = database.getReference("/user/time/$currenttime/latitude")
//saved location to the Firebase Database
reflatitude.setValue(latitude)
.addOnSuccessListener {
Log.d("MainActivity", "Saved the diary latitude to Firebase Database")
}
Это работало хорошо, но когда я хочу вызвать его из другого действия, такого как MapActivity. У него все еще есть некоторые проблемы.
val database = Firebase.database
val reflatitude = database.getReference("/user/time/$currenttime/latitude")
reflatitude.addValueEventListener(object :ValueEventListener){
override fun onDataChange(dataSnapshot: DataSnapshot){
val latitude= dataSnapshot.getValue<Double>()
}
override fun onCancelled(error: DatabaseError) {
// Failed to read value
Log.w(TAG, "Failed to read value.", error.toException())
}
}
My Ref не работает при чтении данных.
Я получаю ошибки:
Ожидается тело класса
Слишком много аргументов для @NonNull publi c open fun addValueEventListener (@NonNull p0: ValueEventListener): ValueEventListener определено в com.google.firebase.database.DatabaseReference
Модификатор «переопределить» не применим к «локальной функции»
Нет аргументов типа для веселья getValue (): Any?
Модификатор «override» не применим к «локальной функции»
Невозможно получить доступ к «TAG»: он невидим (приватный в супертипе) в 'AppCompatActivity'