I am trying to fetch the data of a logged in user using Firebase realtime database. I am currently new to this and I hope someone can guide me. I already read the documentation but I am having this problem.
Problem is I cannot fetch the data that I needed.
Header.kt
private lateinit var binding: HeaderBinding
private lateinit var auth:FirebaseAuth
private lateinit var userName: TextView
private lateinit var userEmail: TextView
private lateinit var database: DatabaseReference
override fun onCreate(savedInstanceState: Bundle?){
super.onCreate(savedInstanceState)
binding = HeaderBinding.inflate(layoutInflater)
setContentView(R.layout.header)
database = Firebase.database.reference
userName = findViewById(R.id.userName)
userEmail = findViewById(R.id.userEmail)
val userID = FirebaseAuth.getInstance().currentUser!!.uid
database.child("users").child(userID).get().addOnSuccessListener {
val email = it.child("email").value.toString()
val username = it.child("username").value.toString()
userName.text = username
userEmail.text = email
}.addOnFailureListener{
Toast.makeText(this, "Error", Toast.LENGTH_SHORT).show()
}
}
Header.xml
<androidx.constraintlayout.widget.ConstraintLayout
<TextView
android:id="@+id/userName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/baloo"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:textColor="#FFFFFF"
android:textSize="24sp" />
<TextView
android:id="@+id/userEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/aclonica"
android:textColor="#FFFFFF"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:textSize="14sp" />
FIREBASE DATABASE:
