Android 如何使用列表/阵列列表向Firebase添加和检索数据?

Android 如何使用列表/阵列列表向Firebase添加和检索数据?,android,arrays,firebase,firebase-realtime-database,Android,Arrays,Firebase,Firebase Realtime Database,我一直在试图找出如何使用列表或ArrayList将数据添加到firebase实时数据库。 例如,我想创建一个喜欢帖子的用户列表,并将其添加到列表/arraylist中,然后将该列表/arraylist上传到我的实时数据库中。 之后,我还想从firebase检索数据 我只是澄清一下。是否要手动添加喜欢此帖子的用户列表?这对我来说似乎很奇怪,一般来说,用户个人喜欢帖子,然后在您向显示该帖子的用户显示该帖子后,在服务器中使用用户id更新帖子喜欢率。这里有一些用于firebase中读写操作的文档要实现这

我一直在试图找出如何使用列表或ArrayList将数据添加到firebase实时数据库。 例如,我想创建一个喜欢帖子的用户列表,并将其添加到列表/arraylist中,然后将该列表/arraylist上传到我的实时数据库中。
之后,我还想从firebase检索数据

我只是澄清一下。是否要手动添加喜欢此帖子的用户列表?这对我来说似乎很奇怪,一般来说,用户个人喜欢帖子,然后在您向显示该帖子的用户显示该帖子后,在服务器中使用用户id更新帖子喜欢率。这里有一些用于firebase中读写操作的文档要实现这一点,请使用以下代码:

List<String> friends = new ArrayList<>();
friends.add("John");
friends.add("Steve");
friends.add("Anna");

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
for(String friend : friends) {
    rootRef.child("friends").child(friend).setValue(true);
}
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference friendsRef = rootRef.child("friends");
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        List<String> friends = new ArrayList<>();
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String friend = ds.getKey();
            friends.add(friend);
        }
        Log.d("TAG", friends);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
friendsRef.addListenerForSingleValueEvent(eventListener);
要将所有这些名称放入
列表
,请使用以下代码:

List<String> friends = new ArrayList<>();
friends.add("John");
friends.add("Steve");
friends.add("Anna");

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
for(String friend : friends) {
    rootRef.child("friends").child(friend).setValue(true);
}
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference friendsRef = rootRef.child("friends");
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        List<String> friends = new ArrayList<>();
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String friend = ds.getKey();
            friends.add(friend);
        }
        Log.d("TAG", friends);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
friendsRef.addListenerForSingleValueEvent(eventListener);

如何使其不必具有布尔值。好友列表将只包含姓名。@Marlon您可以使用数组,但使用地图更方便。