- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 firebase 制作 android 应用程序,我想使用 startAt()
在 firebase 上使用搜索功能。但是结果让我很困惑。
我有一些像这样的 Firebase 数据。
{
"siswa" : {
"100" : {
"id" : 100,
"nama" : "Sucipto"
},
"101" : {
"id" : 101,
"nama" : "Tomo"
},
"102" : {
"id" : 102,
"nama" : "Fitri"
},
"103" : {
"id" : 103,
"nama" : "Sumini"
},
"104" : {
"id" : 104,
"nama" : "Eko"
},
"106" : {
"id" : 106,
"nama" : "Sulastri"
}
}
}
我的示例查询
// Setup Firebase
final FirebaseDatabase database = FirebaseDatabase.getInstance();
// Firebase siswa ref
final DatabaseReference siswaRef = database.getReference("siswa");
// Query
Query suciptoQuery = siswaRef.orderByChild("nama").startAt("Sucipto");
结果:
D/Query Sucipto: Nama : Sucipto
D/Query Sucipto: Nama : Sulastri
D/Query Sucipto: Nama : Sumini
D/Query Sucipto: Nama : Tomo
我正在尝试另一个测试查询
Query suciptoQuery = siswaRef.orderByChild("nama").startAt("Su");
结果:同上
另一个查询:
Query suciptoQuery = siswaRef.orderByChild("nama").startAt("Tomo");
或
Query suciptoQuery = siswaRef.orderByChild("nama").startAt("To");
结果:
D/Query Sucipto: Nama : Tomo
我在 SO 上搜索这个主题,但仍然没有任何解决方案。
最佳答案
我检查了 startAt()文档,它的逻辑很困惑。但如果我确实理解正确(是的,不完全确定,但会提前发布,它可能会有所帮助)。
在您的第一次尝试中,起始值是“Sucipto”,我认为这表明后续的单词/字符串是按词典顺序排列更大,都包含在内。正如您在结果中看到的,在引用中的其他 child 中,Eko 和 Fitri 未返回,因为按字母顺序,“S”远在“F”和“E”之后。
您可以尝试添加另一个值来验证这一点,假设包含“Sucipta”。如果您再次运行查询,其中 startAt()
的值为“Sucipto”,返回值仍将不包括“Sucipta”,因为“Sucipta”的最后一个字母更高(或字母顺序第一个(a ,b,c....) 抱歉,我找不到合适的术语)。
我认为这可能有帮助,您可以查看 Firebase Retrieving Data文档以获得更详细的描述。在一个示例中,他们还使用了字母而不是数字。
关于android - 对 Firebase startAt() 感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37312093/
我正在尝试学习Rust。我正在阅读一本书online,该书实现了unix程序cat。现在,我试图读取作为像cargo run file1.txt file2.txt这样的参数传递的文件的内容,但是程序
我在 GHC 8.0.1 中遇到了一个带有种类索引 (?) GADT 的奇怪情况,其中在类型与种类签名中引入 foralls 会产生不同的类型检查行为。 考虑以下数据类型: {-# LANGUAGE
我正在使用 Perl 5.10 开发应用程序,HTML::Mason和 Apache 2.2。这是我第一次在大型项目中使用 Perl 5.10。我每隔一段时间就会出现奇怪的行为。应用程序因一个非常奇怪
我正在尝试将文件上传到aws中的rust中,因为我使用的是 rusoto_s3 的s3 rust客户端,当这些部分从单个线程发送时,我设法使分段上传代码正常工作不是我想要的,我想上传大文件,并且希望能
我是一名优秀的程序员,十分优秀!