如何从 Firebase 数据库中检索数据,DataSnapShot 返回空值和键

医疗核心程序员

我正在努力为我的应用程序实施 Firebase 实时数据库,问题是 DataSnapShot 检索空键和值。

我曾尝试查看文档,但我不知道出了什么问题。

数据库结构:

数据库结构

我的代码:

private DatabaseReference mUserDatabase;

public NetworkRepository(){
    mUserDatabase = FirebaseDatabase.getInstance().getReference();
}

public void getFoodFromFirebase(String query){

    Query searchQuery = mUserDatabase.orderByChild("Food Name").startAt(query).endAt(query + "\\uf8ff");

    searchQuery.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            String value = dataSnapshot.getValue(String.class);
            Log.d("Value is: ", value);
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}

语境:

我正在使用一个搜索查询,它将返回数据库中的所有项目。因此,理想情况下,如果用户键入“App”,它将返回“食品名称”中包含“App”的所有内容。

那么如何将这些数据作为列表检索呢?我确实有一个模型,但如果有人能指出我正确的方向,我将不胜感激。

编辑:

运行此代码时:

Query searchQuery = fitnessTrackerRef.orderByChild("foodName");

它将检索所有项目(应该如此),但是当我添加要搜索的查询时,它将返回一个空值。这是下面的代码和结果的两张图片。

Query searchQuery = fitnessTrackerRef.orderByChild("foodName").startAt(query).endAt(query + "\\uf8ff");

没有查询字符串

带查询字符串

如图所示,添加查询时不会返回任何数据。我的 searchQuery 语法不正确吗?

亚历克斯·马莫

您可以通过以下方式创建食物名称列表:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference itemsRef = rootRef.child("items");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        List<String> list = new ArrayList<>();
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String foodName = ds.child("Food Name").getValue(String.class);
            list.add(foodName);
        }
        Log.d("TAG", list);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
itemsRef.addListenerForSingleValueEvent(valueEventListener);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果键只返回true,如何使用join从Firebase数据库中检索数据?

来自分类Dev

如何从 Firebase 实时数据库正确检索值?

来自分类Dev

如何从云函数中的 Firebase 数据库中检索多个值?

来自分类Dev

如何从Firebase数据库检索数据?

来自分类Dev

如何从Android中的Firebase数据库检索特定节点

来自分类Dev

如何从数据库返回空值

来自分类Dev

如何从数据库返回空值

来自分类Dev

最初使用 ServerValue.TIMESTAMP 和 Android 设置时,如何从 Firebase 数据库中检索本地 TIMESTAMP?

来自分类Dev

数据更改后如何从Firebase实时数据库中检索特定数据

来自分类Dev

如何使用特定数据从 Firebase 数据库中检索数据

来自分类Dev

如何使用Firebase实时数据库中的键值或字段键删除所有字段和值?

来自分类Dev

如何使用Dapper从数据库中检索单个值

来自分类Dev

如何避免从数据库中检索重复的值?

来自分类Dev

如何从数据库中检索逗号分隔的值?

来自分类Dev

如何避免从数据库中检索重复的值?

来自分类Dev

如何从数据库中检索不为空的值

来自分类Dev

如何使用Codeigniter从数据库中检索值

来自分类Dev

如何使用Dapper从数据库中检索单个值

来自分类Dev

如何从特定用户的数据库中检索值?

来自分类Dev

如何使用Android在Firebase数据库中添加具有特定值的特定键?

来自分类Dev

如何从 Firebase 数据库中检索数据并将其存储为字符串?

来自分类Dev

如何使用 Firebase 数据库中的特定字段检索多个数据

来自分类Dev

如何匹配editText和firebase数据库中的字符串,并返回匹配或不匹配?

来自分类Dev

Firebase 数据库无法将数据检索到类中(返回 null)

来自分类Dev

如何为firebase数据库中的所有子数据设置值?

来自分类Dev

如何使用javascript和html一键向firebase数据库中的所有子项添加新数据

来自分类Dev

如何在firebase auth和firebase-实时数据库中获得相同的ID?

来自分类Dev

Android Firebase - 从 Firebase 实时数据库中检索特定值

来自分类Dev

如何在React Native中访问从Firebase数据库检索的完整阵列?

Related 相关文章

  1. 1

    如果键只返回true,如何使用join从Firebase数据库中检索数据?

  2. 2

    如何从 Firebase 实时数据库正确检索值?

  3. 3

    如何从云函数中的 Firebase 数据库中检索多个值?

  4. 4

    如何从Firebase数据库检索数据?

  5. 5

    如何从Android中的Firebase数据库检索特定节点

  6. 6

    如何从数据库返回空值

  7. 7

    如何从数据库返回空值

  8. 8

    最初使用 ServerValue.TIMESTAMP 和 Android 设置时,如何从 Firebase 数据库中检索本地 TIMESTAMP?

  9. 9

    数据更改后如何从Firebase实时数据库中检索特定数据

  10. 10

    如何使用特定数据从 Firebase 数据库中检索数据

  11. 11

    如何使用Firebase实时数据库中的键值或字段键删除所有字段和值?

  12. 12

    如何使用Dapper从数据库中检索单个值

  13. 13

    如何避免从数据库中检索重复的值?

  14. 14

    如何从数据库中检索逗号分隔的值?

  15. 15

    如何避免从数据库中检索重复的值?

  16. 16

    如何从数据库中检索不为空的值

  17. 17

    如何使用Codeigniter从数据库中检索值

  18. 18

    如何使用Dapper从数据库中检索单个值

  19. 19

    如何从特定用户的数据库中检索值?

  20. 20

    如何使用Android在Firebase数据库中添加具有特定值的特定键?

  21. 21

    如何从 Firebase 数据库中检索数据并将其存储为字符串?

  22. 22

    如何使用 Firebase 数据库中的特定字段检索多个数据

  23. 23

    如何匹配editText和firebase数据库中的字符串,并返回匹配或不匹配?

  24. 24

    Firebase 数据库无法将数据检索到类中(返回 null)

  25. 25

    如何为firebase数据库中的所有子数据设置值?

  26. 26

    如何使用javascript和html一键向firebase数据库中的所有子项添加新数据

  27. 27

    如何在firebase auth和firebase-实时数据库中获得相同的ID?

  28. 28

    Android Firebase - 从 Firebase 实时数据库中检索特定值

  29. 29

    如何在React Native中访问从Firebase数据库检索的完整阵列?

热门标签

归档