Kotlin 和 Firebase 读写数据

2024-03-25

我已经学习 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(使用前将#替换为@)

Kotlin 和 Firebase 读写数据 的相关文章

随机推荐