【发布时间】:2018-02-08 11:05:51
【问题描述】:
我想在 5 个活动中使用 Firebase Value 事件监听器。并且所有的监听器都会做同样的工作,那么我可以将监听器放在应用程序类中并在应用程序终止时移除监听器吗?
public class MyApplication extends Application {
private RefWatcher refWatcher;
private ValueEventListener value_event_listener;
public static RefWatcher getRefWatcher(Context context) {
MyApplication application = (MyApplication) context.getApplicationContext();
return application.refWatcher;
}
@Override
public void onCreate() {
super.onCreate();
MultiDex.install(this);
EmojiManager.install(new IosEmojiProvider());
if (LeakCanary.isInAnalyzerProcess(this)) {
// This process is dedicated to LeakCanary for heap analysis.
// You should not init your app in this process.
return;
}
refWatcher = LeakCanary.install(this);
value_event_listener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//TODO
}
@Override
public void onCancelled(DatabaseError databaseError) {
//TODO
}
};
FirebaseDatabase.getInstance().getReference().child(C.DELIVERY).addValueEventListener(value_event_listener);
}
@Override
public void onTerminate() {
super.onTerminate();
FirebaseDatabase.getInstance().getReference().child(C.DELIVERY).removeEventListener(value_event_listener);
}
}
【问题讨论】:
标签: android firebase firebase-realtime-database