This is the error in logcat:
When i try to retrieve username to my activity profile I have this error:
java.lang.NullPointerException and the app crash the problem on this line of code
// binding.etUserName.setText(user!!.username)
storage = FirebaseStorage.getInstance()
storageRef = storage.reference
binding.imgBack.setOnClickListener {
onBackPressed()
}
binding.btnSave.setOnClickListener {
uploadImage()
binding.progressBar.visibility = View.VISIBLE
}
binding.userImage.setOnClickListener {
chooseImage()
}
var firebaseUser = FirebaseAuth.getInstance().currentUser!!
databaseReference =
FirebaseDatabase.getInstance().getReference("Users").child(firebaseUser.uid)
databaseReference.addValueEventListener(object : ValueEventListener {
override fun onCancelled(error: DatabaseError) {
//Toast.makeText(applicationContext, error.message, Toast.LENGTH_SHORT).show()
throw error.toException()
}
override fun onDataChange(snapshot: DataSnapshot) {
val user = snapshot.getValue(User::class.java)
binding.etUserName.setText(user!!.username)
if (user!!.imageuri == "") {
binding.userImage.setImageResource(R.drawable.goog)
} else {
Glide.with(this@profile).load(user.imageuri).into(binding.userImage)
}
}
})
}
This is my user class:
data class User(var uid:String="" ,var username:String ="" ,var imageuri:String="",var emailedt:String="",) {
}
This is my sign up class how my node will save in databse
fun saveuserToFirebaseDatabase(imageuri: String){
var auth:FirebaseAuth= FirebaseAuth.getInstance()
var users:FirebaseUser?=auth.currentUser
val uid= FirebaseAuth.getInstance().uid ?: ""
val ref = FirebaseDatabase.getInstance().getReference("/Users/$uid")
var username = binding.nameReg.text.toString()
val user =
User( uid,binding.nameReg.text.toString(), imageuri, binding.Email.text.toString())
ref.setValue(user)
.addOnSuccessListener {
Log.d("RegisterActivity", "Finalle we saved")
}
}
}
this how my node will save in firebase realtime