首页 > 解决方案 > 使用 firebase 实时数据库

问题描述

我在应用程序中使用数据库值时遇到问题。我找不到在应用程序中使用它们的方法。

auth = FirebaseAuth.getInstance()
        FirebaseUser = auth.getCurrentUser()!!

        val uid = auth.getUid()!!
        val fireBase = FirebaseDatabase.getInstance()
        userRef = fireBase.getReference("users")

        val ordersRef = userRef.child("$uid")
        val valueEventListener = object : ValueEventListener {
            override fun onDataChange(dataSnapshot: DataSnapshot) {
                val username = dataSnapshot.child("names").getValue(String::class.java)
                val lastname = dataSnapshot.child("lastname").getValue(String::class.java)
                Log.d("Data",lastname)
                Log.d("Data",username)
            }

            override fun onCancelled(databaseError: DatabaseError) {
                Log.d("Data", databaseError.getMessage()) //Don't ignore errors!
            }
        }
        ordersRef.addValueEventListener(valueEventListener)

这是从 firebase 检索数据的方法。我在 logcat 中得到它:

2020-01-26 15:09:31.480 13943-13943/com.example.odpodstaw D/Data: TestLastname
2020-01-26 15:09:31.480 13943-13943/com.example.odpodstaw D/Data: TestName

我想在 App 中使用它如何获取变量?在 MainActivity 我有

lateinit var name :String lateinit var lastname :String

如何从数据库中获取值到MainActivitynamelastnameMainActivity 中?

我只是在学习,我真的不知道如何做到这一点以及如何在我的应用程序中使用这些数据。

标签: androidfirebasekotlinfirebase-realtime-database

解决方案


假设此获取发生在 内部MainActivity,您可以在接收数据的回调中执行以下操作:

val activity = this@MainActivity
activity.name = name
activity.lastname = lastname

这将设置 MainActivity 上的属性。


推荐阅读