我已经学习 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())
}
}
我的 Ref 无法读取数据。
我得到的错误:
-
期待班级团体
-
@NonNull public open fun addValueEventListener(@NonNull p0: ValueEventListener) 的参数太多:com.google.firebase.database.DatabaseReference 中定义的 ValueEventListener
-
修饰符“覆盖”不适用于“本地函数”
-
fun getValue() 不需要类型参数:有吗?
-
修饰符“覆盖”不适用于“本地函数”
-
无法访问“TAG”:它在“AppCompatActivity”中不可见(在超类型中为私有)
试试这个代码:
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())
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)