Here is my code.
fun readNameSurnameByEmail(email: String): String {
// Сделать чтение для всех данных кроме пароля в разных функциях принимать будет email
val database = FirebaseFirestore.getInstance()
val myRef = database.collection("Users").document(email)
myRef.get()
.addOnSuccessListener { document ->
if (document != null) {
val fieldValue = document.get("name_surname") as String
Log.d(TAG, "Name and surname successfully read")
} else {
Log.d(TAG, "Is empty")
}
}
.addOnFailureListener { exception ->
if (exception is FirebaseFirestoreException) {
Log.e(TAG, "Error getting document: ", exception)
}
}
}
I am creating val fieldValue. How can I return it if it is in SuccessListener?
And another question, is it a correct way of getting a field value by document name?
Here is updated code Is it correct right now?
fun readNameSurnameByEmail(email: String): String {
// Сделать чтение для всех данных кроме пароля в разных функциях принимать будет email
val database = FirebaseFirestore.getInstance()
val myRef = database.collection("Users").document(email)
var fieldValue = ""
myRef.get()
.addOnSuccessListener { document ->
if (document != null) {
fieldValue = document.get("name_surname") as String
Log.d(TAG, "Name and surname successfully read")
} else {
Log.d(TAG, "Is empty")
}
}
.addOnFailureListener { exception ->
if (exception is FirebaseFirestoreException) {
Log.e(TAG, "Error getting document: ", exception)
}
}
return fieldValue
}