如何使用Android中的MVP模式从我的Interactor启动服务?

rem*_*dy. 11 java mvp service android

我遵循的模型视图演示者(MVP)模式类似于Antonio Leiva在这里找到的例子:antoniolg/github.

我一直在玩它很多,我想知道如何serviceinteractor图层开始.通常情况下,我一直在retrofit调用我的电话,interactor但我想知道是否有办法从服务器启动服务,interactor所以我可以retrofit在服务中运行我的电话.这里的问题是我没有运行服务的活动上下文,如果我要将上下文暴露给它,它会破坏MVP的目的interactor.

我也不太确定这是否是一件好事(从交互者那里开始服务).我正在考虑从presenter层中启动服务,但是我正在朝着如何接近它的方向走向死胡同.

如果有办法解决这个问题,请帮助一个人吗?如果这不是一个好方法,或者启发我.

小智 0

定义类,例如“我的应用程序扩展应用程序”并定义像 getAppInstance 这样的方法返回应用程序对象,然后将此类的名称属性添加到清单中的应用程序标记,然后在用例中调用此方法以获取上下文对象并启动服务

public class MyApp extends Application {

    private MyApp instance;

    @Override
    public void onCreate() {
        super.onCreate();

        instance = this;

    }

    @Override
    public void onTerminate() {
        super.onTerminate();

        instance = null;
    }

    public MyApp getInstance(){
        return  instance;

    }
}
Run Code Online (Sandbox Code Playgroud)