我正在创建我的第一个Android应用程序,该应用程序是Tinder的克隆版本,仅用于学习目的。
我正在尝试实施一种方法,以不断检查Firebase数据库中在任何活动中都在后台运行的更改。例如当用户获得新匹配并更新数据库时,他们会收到弹出式通知(在应用程序中)。
我的想法也许是我需要在单独的线程中运行并放入每个活动中的某种侦听器?或者只是将数据库查询置于无限循环中。我不知道什么是最好的方法。
很抱歉,如果这是一个菜鸟问题,但我有点受阻,不知道如何继续前进。谢谢!
答案 0 :(得分:1)
要实现您所说的内容,您必须使用ValueEventListener
。尝试以下代码:
DatabaseReference dbref = FirebaseDatabase.getInstance().getReference("Your path");
dbref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnaphsot dataSnaphsot){
//There was a data change so make your pop-up notification.
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError){
}
});
使用上面的ValueEventListener
,每当dbref
指定的Firebase数据库路径发生变化时,您都会收到通知。
然后,在onDataChange
方法中,您可以获取所需的数据并进行通知。