FireStore和地图/阵列,文档列表到Kotlin中的阵列

我终于开始了解很多有关FireStore的信息,但是我想知道是否可以得到一些帮助。

如果我具有类似或类似的设置:

种族

Android

姓名:Android

大小:中等

统计数据

这是地图

str:10

性别:12 ....(更多值)

我该如何解析?我希望使特定的TextView应用在数据库中找到的值,以便我可以简单地更新数据库,而我的应用程序将填充这些值,以便将来硬编码和代码更新不会再出现麻烦了。

我目前使用的是这样的内容:

val androidRef = db.collection("races").document("Android") 
androidRef.get().addOnSuccessListener { document ->
if (document != null) {
     oneOfTheTextViews.text = document.getString("str") 
} else { 
}

目前的问题是,我似乎只能从集合(种族)/文档(android)/然后是单个字段(我将“ str”设置为单个字段,而不是地图或数组的一部分)中访问>

最佳做法是什么?我不应该将它们嵌套吗?如果我可以引用上述嵌套/映射/数组,则需要调用哪些函数? (要明确地说,我不仅在询问是否有可能-参考指南和文档暗示了这种可能性-而是需要调用什么属性/类/方法/等才能仅访问这些值或点之一到那些值之一?)。

第二个问题:有没有一种方法来获取文档名称列表?如果我参加了几次比赛,并且只是想根据文档名称作为集合的一部分来制作微调器或回收器视图,我可以将其阅读到应用程序中吗?

qqai22 回答:FireStore和地图/阵列,文档列表到Kotlin中的阵列

  

最佳做法是什么?

如果要获取嵌套在str地图中的stats属性的值,请更改以下代码行:

oneOfTheTextViews.text = document.getString("str")

oneOfTheTextViews.text = document.getString("stats.str")

如果您的str属性是数字而不是字符串,那么请使用以下代码代替上面的代码行:

oneOfTheTextViews.text = document.getLong("stats.str")
  

我应该完全不嵌套它们吗?

否,您可以在Map中嵌套任意数量的属性。

  

是否可以获取文档名称列表?

是的,只需使用getId()函数对集合进行迭代并获取文档ID。

本文链接:https://www.f2er.com/3155450.html

大家都在问