当前位置: 首页 > 知识库问答 >
问题:

Google FiRecovery保存用户输入静态编程语言

鲍钊
2023-03-14

这个问题我已经有一段时间了。我有3个inputEditTexts,要求用户输入他们的名字、姓氏和ID。我想把这些信息保存到googlefirestore中。我已经设置了所有依赖项,我知道我已经将其正确连接到googlefirebase。我发现的问题是,关于这个主题的每一个教程都是不同的,而且我所能找到的每个教程都不能100%发挥作用。有没有一种方法可以将这3个值保存到googlefirestoreinkotlin中,并在另一个活动中检索这些值?

共有1个答案

谯嘉懿
2023-03-14

这个问题我已经有一段时间了。我有3个inputEditTexts,要求用户输入他们的名字、姓氏和ID。

要从这些EditText对象中获取数据,请使用以下代码行:

val firstName =  firstNameEditText.text.toString().trim()
val lastName =  lastNameEditText.text.toString().trim()
val id =  idEditText.text.toString().trim()

我想把这些信息保存到Firestore中。

要在Firestore中保存数据,最简单的解决方案是创建一个数据类:

data class User(
    var firstName: String? = null,
    var lastName: String? = null,
    var id: String? = null
)

创建类的对象:

val user = User(firstName, lastName, id)

并把它写到火炉:

val rootRef = FirebaseFirestore.getInstance()
val usersRef = rootRef.collection("users")
usersRef.document(id).set(user).addOnCompleteListener(/* ... */)

这将生成以下数据库架构:

Firestore-root
  |
  --- users (collection)
       |
       --- $id
            |
            --- firstName: "Abrahim"
            |
            --- lastName: "Mahmud"
            |
            --- id: "userIdIntroducedFromKeyboard"

要读回数据,只需调用get()并连接一个监听器,如下所示:

val uidRef = usersRef.document(id)
uidRef.get().addOnSuccessListener { doc ->
    if (doc != null) {
        val user = doc.toObject(User::class.java)
        Log.d(TAG, "{$user.firstName} {$user.lastName}")
    } else {
        Log.d(TAG, "No such document")
    }
}.addOnFailureListener { exception ->
    Log.d(TAG, "get failed with ", exception)
}

logcat中的结果将是:

Abrahim Mahmud
 类似资料:
  • 我试图用OkHttp和Cucumber在静态编程语言中设置一个Spring启动项目,并且在运行Cucumber任务时遇到以下错误。如何修复? 还有build gradle kts片段 我看到了这个错误https://github.com/square/okio/issues/647看起来可能是它,并修复了这个build.gradle,我如何将其翻译为kotlinbuild.gradle.kts?

  • 如图所示,https://stackoverflow.com/a/16639438/8949356,在Java中,当声明的类是公共类时,可以重写其函数 但是我想知道如何用静态编程语言编写完全相同的代码,我已经尝试了很多,但没有找到任何关于这个主题的东西。我可以在Java中去做这件事,但我的其余代码是用静态编程语言编写的,而且我不能一直带着这种怀疑;静态编程语言对我来说是一个很好的工具,我想学习它。

  • 上周我更新了Kotlin 1.5,昨天看到谷歌打算让Jetpack成为设计UI的首选选项后,我想做一些测试。 问题是将我的项目更新为静态编程语言1.5,当尝试构建项目时,我得到以下错误: 静态编程语言1.5与Jetpack Compose不兼容吗?在谷歌搜索问题后,我找到了版本,其中提到了Jetpack Compose,但不是以“不兼容”的方式。 你对此有任何答案吗?我应该使用吗?在这种情况下,我

  • 我正在使用useState处理一个待办事项,我试图保存用户输入,然后在他们点击提交后将其推送到listArray,稍后显示它...我认为我在updateArray函数中做错了什么,但我似乎可以理解什么。

  • 我正在尝试使用Quarkus和Kotlin编写一个简单的反应式应用程序,其中只有一个endpoint,并使用Vertx。但这段简单的代码不起作用: 我得到这个例外: 我已经读了Quakus留档关于静态编程语言(它仍然是一种预览技术),并说了一些关于使用“@field: xxx”的事情,但是我已经尝试了很多东西,没有一个奏效。如果有人知道答案,我会非常感激。 @Inject Vertx或@Injec

  • 我是Kotlin开发的新手,我不知道如何处理这个问题。我将以下Kotlin数据类映射到MongoDB集合(Spring data MongoDB): 我想覆盖默认的 id 获取器并返回一个字符串而不是对象 Id。似乎“id”字段名称无法更改,因为我收到消息“不允许自定义id属性的字段名称!自定义名称不会被考虑!“,因此我无法使用始终建议的_id解决方案。 如何才能做到这一点?我错过了什么吗?