如何在MVP中实现android.app.Service?

时间:2018-02-12 13:38:57

标签: android android-service mvp

我创建了Firebase服务,当我收到通知时,我希望将数据保存到房间。我使用MVP,我不明白如何在android.app.Service

中使用MVP
public class MyFirebaseMessagingService extends FirebaseMessagingService {


    @Inject
    EventPresenter presenter;

    public NfpFirebaseMessagingService() {
        presenter = UserApplication.me().getAppComponent().getEventPresenter();
    }

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        Map<String, String> data = remoteMessage.getData();
        presenter.saveEvent(data);
        sendNotification(remoteMessage.getData());
    }

但我的演示者有视图,FirebaseMessagingService - 不是视图。在这种情况下如何实现MVP?

1 个答案:

答案 0 :(得分:0)

您可以Service作为View。它可以实现一个不需要调用View的接口,但您可以将其重命名为Service。

您只需准备界面:

interface ServiceI {
  void emitEvent();
}

比您的服务需要实现此接口

public class MyFirebaseMessagingService extends FirebaseMessagingService implements ServiceI {
...
}

您可以将此对象传递给演示者。