将项目列表从android应用程序保存到firebase数据库的顺序

将项目列表从android应用程序保存到firebase数据库的顺序,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我正在将我的应用程序中的项目列表(通过逐个添加项目)保存到firebase数据库中,当我添加第10个元素时,它在1个(关键)节点(不低于第9个)和第2个节点移到10以下后保存,如下图所示。项目列表显示在RecyclerView中的顺序与保存在firebase数据库中的顺序相同。为什么项目以这种方式保存 这是预期的行为。Firebase实时数据库中的键是字符串,它们以所谓的字典顺序显示 如果你使用字母,你也会期望这样的顺序: a b ba c 当数字按字典顺序排序时,它们没有什么不同,就像它们

我正在将我的应用程序中的项目列表(通过逐个添加项目)保存到firebase数据库中,当我添加第10个元素时,它在1个(关键)节点(不低于第9个)和第2个节点移到10以下后保存,如下图所示。项目列表显示在RecyclerView中的顺序与保存在firebase数据库中的顺序相同。为什么项目以这种方式保存


这是预期的行为。Firebase实时数据库中的键是字符串,它们以所谓的字典顺序显示

如果你使用字母,你也会期望这样的顺序:

  • a
  • b
  • ba
  • c
当数字按字典顺序排序时,它们没有什么不同,就像它们在这里一样

如果你想看到一个数字排序顺序,考虑把数字填充到一个固定的,例如用零预加:

  • 收成:000
  • 作物:001
  • 作物:002
  • 收成:010

请注意,在Firebase中,通常使用数字顺序值作为键是一种反模式,建议使用内置的按键。更多信息,请参见:。

非常感谢!除了内置的按键,还有什么方法可以对列表进行排序吗?如果要在firebase数据库中手动保存项目列表,然后在应用程序中检索它们,该怎么办??有没有办法手动生成按键?算法有完整的文档,代码也可用。请参阅要了解排序数据的其他方法,请参阅: