Я создаю 2 приложения для Android, для пользователя и для администратора. Пользовательское приложение может использовать "пеланггаран", приложение администратора может видеть весь пеланггаран в реальном времени.
Здесь я застрял в получении данных в режиме реального времени для приложения администратора. Вот иерархия базы данных.
это ссылки: пеланггаран и пользователь
у каждого пользователя есть пеланггаран. Итак, первым потомком pelanggaran является userID, затем pelanggaranID, затем значения
Я попробовал поискать в Google, я понял, но это не в реальном времени Вот мой код
private void refreshList(){
databaseUser = FirebaseDatabase.getInstance().getReference("User");
pelanggaranList = new ArrayList<>();
databaseUser.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
pelanggaranList.clear();
long numberUsers = dataSnapshot.getChildrenCount();
Log.w("total user", "" + numberUsers);
for (DataSnapshot dsUser : dataSnapshot.getChildren()){
User user = dsUser.getValue(User.class);
final String userId = user.getUserId();
Log.w("id user", userId);
databasePelanggaran = FirebaseDatabase.getInstance().getReference("Pelanggaran").child(userId);
databasePelanggaran.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot1) {
for (DataSnapshot dsPelanggaran : dataSnapshot1.getChildren()){
Pelanggaran pelanggaran = dsPelanggaran.getValue(Pelanggaran.class);
Log.w("id pelanggaran", userId + " : " + pelanggaran.getIdPelanggaran());
pelanggaranList.add(pelanggaran);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
PelanggaranAdapter pelanggaranAdapter = new PelanggaranAdapter(MainActivity.this, pelanggaranList);
recyclerView.setAdapter(pelanggaranAdapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
Может принимать все значения от каждого пользователя, но не в режиме реального времени. И иногда данные не появляются. Что я должен сделать, чтобы сделать это в реальном времени?