gpt4 book ai didi

android - 使用 Kotlin 在 Firestore 数据库中上传数据。无法存储数据

转载 作者:行者123 更新时间:2023-11-30 00:03:52 24 4
gpt4 key购买 nike

我不知道是什么问题,但 Edittext 中的字符串没有存储在我的 Firestore 数据库中。请帮助我也是 Firestore 和 kotlin 的新手

MainActivity.java

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

val mFirestore: FirebaseFirestore = FirebaseFirestore.getInstance()

val name = findViewById<EditText>(R.id.nameText)//nameText.text.toString()
val user = findViewById<EditText>(R.id.userText)
val occ = "Student"

val usermap = HashMap<String, Any>()
usermap.put("Name", name.text.toString())
usermap.put("Occupation", occ)
usermap.put("Type", user.text.toString())

button.setOnClickListener() {

mFirestore.collection("Users").add(usermap).addOnSuccessListener() {
Toast.makeText(this, "Data Stored", Toast.LENGTH_SHORT).show()
}.addOnFailureListener() {
Toast.makeText(this, "Data Not Stored", Toast.LENGTH_SHORT).show()
}
}
}
}

这是我的 firestore 数据库截图,请检查并帮助我

Image

最佳答案

您在创建 EditText 时立即(并且只读取一次)读取它们中的值 - 此时它们仍然是空的。相反,每次都在监听器的回调中读取它们的值,如下所示:

button.setOnClickListener() {
val usermap = HashMap<String, Any>()
usermap.put("Name", name.text.toString())
usermap.put("Occupation", occ)
usermap.put("Type", user.text.toString())

mFirestore.collection("Users").add(usermap).addOnSuccessListener() {
Toast.makeText(this, "Data Stored", Toast.LENGTH_SHORT).show()
}.addOnFailureListener() {
Toast.makeText(this, "Data Not Stored", Toast.LENGTH_SHORT).show()
}
}

关于android - 使用 Kotlin 在 Firestore 数据库中上传数据。无法存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49393920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com