我的Firebase包含不同的数据树,例如用户,兴趣爱好,班级,乐谱等。我想从两组数据“用户”和“兴趣爱好”中获取值。
从两个表中获取值的最佳方法是什么?
我应该先使用firebaseDatabase.getReference()
然后
dataSnapshot.child("Users").child(“name”).getValue().toString();
dataSnapshot.child("hobbies ").child(“track”).getValue().toString();
还是我必须firebaseDatabase.getReference(“Users”)
和firebaseDatabase.getReference(“hobbies”);
由于我注意到firebaseDatabase.getReference()
似乎是指所有数据,包括不需要的数据(类,分数等)。这会导致应用速度变慢还是有影响?
答案 0 :(得分:1)
如果将侦听器附加到DatabaseReference
,它将下载/读取该引用下的所有数据。因此,如果将侦听器附加到FirebaseDatabase.getInstance().getReference()
,那么您正在读取数据库中的所有数据。
如果您只需要应用程序中所有数据的子集,则仅加载该数据更为有效。这意味着您需要在所需的每个数据分支上附加一个单独的侦听器。