在安卓应用后台聆听Firebase DB的变化



我正在创建我的第一个Android应用程序,这是一个Tinder克隆,仅用于学习目的。

我正在尝试实现一种方法来不断检查Firebase DB中的更改,这些更改可以在任何活动中在后台运行。 例如,当用户获得新的匹配项并且数据库更新时,他们会收到弹出通知(在应用程序中(。

我的想法是,也许有某种侦听器,我需要在单独的线程中运行并放入每个活动中?或者只是将数据库查询置于无限循环中。我不知道什么是最好的方法。

对不起,如果这是一个菜鸟问题,但我有点卡住了,不知道如何继续前进。谢谢!

为了实现你所说的,你必须使用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,每当 Firebase 数据库路径发生更改(由 dbref 指定(时,您都会收到通知。

然后,在 onDataChange 方法中,您可以获取所需的数据并进行通知。

最新更新