Java 如何每秒使用RecyclerView刷新Firebase数据库数据
我创建了一个Android应用程序,并将数据存储在Firebase数据库中,我得到了数据,但当用户添加新的内容时,数据不会显示在应用程序中,直到用户退出并再次输入应用程序 我试试这个Java 如何每秒使用RecyclerView刷新Firebase数据库数据,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我创建了一个Android应用程序,并将数据存储在Firebase数据库中,我得到了数据,但当用户添加新的内容时,数据不会显示在应用程序中,直到用户退出并再次输入应用程序 我试试这个 @Override protected void onRestart() { super.onRestart(); adapter.notifyDataSetChanged(); } *用户通过转到另一个活动来添加数据。 我想在任何时候刷新数据数据添加而不退出应用程序并再次输入。 这就是我设置
@Override
protected void onRestart() {
super.onRestart();
adapter.notifyDataSetChanged();
}
*用户通过转到另一个活动来添加数据。
我想在任何时候刷新数据数据添加而不退出应用程序并再次输入。
这就是我设置适配器数据的方式
DatabaseReference myRef = FirebaseDatabase.getInstance().getReference();
myRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
for (DataSnapshot d : ds.getChildren()) {
data.add(d.getValue(game.class));
}
adapter = new allAdapter(data);
rv.setAdapter(adapter);
allGamesAdapter.notifyDataSetChanged();
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(MainActivity.this, "error", Toast.LENGTH_SHORT).show();
}
我想在任何时候刷新数据数据添加而不退出应用程序并再次输入
您正在寻找Firebase实时数据库的实时功能。要实时获取更新,应使用addValueEventListener()
将调用更改为addListenerForSingleValueEvent()
。在您现在所做的工作中,您只获得一次数据,因此会出现这种行为。有关更多信息,请查看官方文档: