java - 如何从 Firebase Android 查询中的 StartAt 特定位置和 EndAt 特定位置获取值

标签 java android database firebase firebase-realtime-database

我无法从我的数据库中获取数据。

我的数据库: enter image description here

我的代码:

 Query query = FirebaseDatabase.getInstance().getReference("Quotes").startAt(5).endAt(10);
        query.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                for(DataSnapshot data: dataSnapshot.getChildren()){
                        String authorName = data.child("Name").getValue().toString();
                        String quoteGiven = data.child("Quote").getValue().toString();
                        name.setText("- " + authorName);
                        quote.setText(quoteGiven);

                }
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
                Toast.makeText(MainActivity.this, "Loading Quote failed", Toast.LENGTH_SHORT).show();
            }
        });

我想从第 5 个 child 到第 10 个 child 获取我的数据。

我试过:

Select random entry from Firebase Realtime Database in Java

get random value android firebase java

Firebase queries not working on Android even though the reference retrieves data

但是,它只显示我留下的硬编码文本而不是数据库中的文本吗?

谁能帮帮我,我不确定我哪里做错了

最佳答案

尝试使用 orderByKey():

FirebaseDatabase.getInstance().getReference("Quotes").orderByKey().startAt(String.valueOf(5)).endAt(String.valueOf(10));

这应该会为您提供数据库中从第 5 个键到第 10 个键的所有数据。

来自文档:

orderByKey()

Order results by child keys

https://firebase.google.com/docs/database/android/lists-of-data#sort_data

关于java - 如何从 Firebase Android 查询中的 StartAt 特定位置和 EndAt 特定位置获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59353861/

相关文章:

Java - getMethod null 检查

c# - 实现并行异常以获得错误树?

database - 构建 PL/SQL IF THEN 语句的更好方法?

javascript - 入门 : Setup Database for Node. js

sql - 使用 jdbc 创建 db2 模式

java - java语言标签为zh-CN时如何获取中文(简体)?

java - 在独立 Java 中将 XA 事务与 WebSphere MQ 结合使用

android - 如何使 Snackbar 不与 Android 导航控件重叠

android - 如何在 Android 应用程序的发布版本中删除 Log.d() 调用?

android - Cordova 应用程序在新应用程序版本中保留本地存储数据吗?