为了账号安全,请及时绑定邮箱和手机立即绑定

从 Firebase 检索多个数据到我的 Android 应用程序

从 Firebase 检索多个数据到我的 Android 应用程序

慕容708150 2021-10-27 09:49:35
我正在构建一个应用程序,它需要从我的 Firebase 数据库中检索多个数据并将数据存储在我的应用程序中。这是我的数据库结构,我想检索从 1 到最后一个数字的所有数据以及检索每个数字内的数据。有谁知道如何做到这一点?提前致谢。
查看完整描述

2 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

要获取Destination节点下的所有这些对象,您需要DataSnapshot使用如下getChildren()方法迭代对象:


DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();

DatabaseReference destinationRef = rootRef.child("Destination");

ValueEventListener valueEventListener = new ValueEventListener() {

    @Override

    public void onDataChange(DataSnapshot dataSnapshot) {

        for(DataSnapshot ds : dataSnapshot.getChildren()) {

            String name = ds.child("name").getValue(String.class);

            Log.d(TAG, name);

        }

    }


    @Override

    public void onCancelled(@NonNull DatabaseError databaseError) {

        Log.d(TAG, databaseError.getMessage());

    }

};

destinationRef.addListenerForSingleValueEvent(valueEventListener);

如果您使用的是模型类,请使用以下代码:


DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();

DatabaseReference destinationRef = rootRef.child("Destination");

ValueEventListener valueEventListener = new ValueEventListener() {

    @Override

    public void onDataChange(DataSnapshot dataSnapshot) {

        for(DataSnapshot ds : dataSnapshot.getChildren()) {

            YourClass yourClass = ds.getValue(YourClass.class);

            Log.d(TAG, yourClass.getName());

        }

    }


    @Override

    public void onCancelled(@NonNull DatabaseError databaseError) {

        Log.d(TAG, databaseError.getMessage());

    }

};

destinationRef.addListenerForSingleValueEvent(valueEventListener);


查看完整回答
反对 回复 2021-10-27
  • 2 回答
  • 0 关注
  • 154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信