我一直试图弄清楚如何使用Lists或ArrayLists将数据添加到我的firebase实时数据库。 例如,我想创建一个喜欢帖子并将其添加到列表/ arraylist中的用户列表,然后在我的实时数据库中上传该列表/ ArrayLists。 之后我还想从firebase中检索数据。
答案 0 :(得分:3)
要实现此目的,请使用以下代码:
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);
}
您的数据库将如下所示:
Firebase-root
|
--- friends
|
--- John: true
|
--- Steve: true
|
--- Anna: true
要将所有这些名称加入List
,请使用以下代码:
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);
您的输出将是:
[John, Steve, Anna]
答案 1 :(得分:0)
我只是澄清一下。您想手动添加喜欢帖子的用户列表吗?这对我来说似乎很奇怪一般用户喜欢发布然后更新帖子,如用率id与用户ID在服务器中的那个帖子之后显示该用户谁显示该帖子。这里有一些文件用于firebase link
中的读写操作