Я создаю приложение с помощью Kotlin на Android Studio.
В приложении пользователям будет разрешено добавлять изображение, имя пользователя и номер телефона.
перейти к другим видам деятельности. Упомянутая информация должна быть сохранена в приложении Cloud Firestore (Firebase).
Однако при кодировании функций пожарного магазина данные не сохраняются в базе данных
Может кто-нибудь помочь, пожалуйста?
Когда я создавал свое приложение, оно показывало:
Открыть картинку
Это мой первый пост о stackoverflow, поэтому дайте мне знать, если вы хотите узнать какую-либо дополнительную информацию.
Буду признателен за любую помощь, ребята.
Это мой код:
setupBtn.setOnClickListener {
val username: String = setupName.text.toString()
val phoneNumber: String = setupPhoneNumber.text.toString()
if (!TextUtils.isEmpty(username) &&
!TextUtils.isEmpty(phoneNumber)) { //if fields are not empty, proceed. Else,
tell user to fill both fields
setupProgressBar.visibility = View.VISIBLE
val userID = mAuth.currentUser!!.uid // saves user ID
val imagePATH: StorageReference =
storageRef.child("profile_images").child(userID + ".jpg") //store the image
as the user ID
imagePATH.putFile(mainImageURI).addOnCompleteListener {
task ->
if (task.isSuccessful) {
//get the downloadURI of the image and store it
val downloadURI =
task.result.metadata!!.reference!!.downloadUrl.toString()
//A collection stores in the database that has a
1)name .. 2)phone number .. 3)image
val data = HashMap<String, Any>()
data.put("name", username)
data.put("phone number", phoneNumber)
data.put("image", downloadURI)
val docRef =
mFirestore.collection("Users").document(userID).set(data)
docRef.addOnCompleteListener { task ->
if (task.isSuccessful) {
Toast.makeText(this, "User Setting are
updated", Toast.LENGTH_LONG).show()
val intent = Intent(this,
PhotoBlog::class.java)
startActivity(intent)
finish()
} else {
val errorMessage: String? =
task.exception!!.message
Toast.makeText(this, "Database Error:
$errorMessage", Toast.LENGTH_LONG).show()
}
}
} else {
val errorMessage: String? =
task.exception!!.message
Toast.makeText(this, "Image Error:
$errorMessage", Toast.LENGTH_LONG).show()
}
setupProgressBar.visibility = View.INVISIBLE
}
} else {
Toast.makeText(this, "Please, fill both fields",
Toast.LENGTH_LONG).show()
}
}
}
Я также импортировал необходимые библиотеки и определил переменную firestore
private lateinit var mFirestore: FirebaseFirestore
mFirestore = FirebaseFirestore.getInstance()