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

时间:2015-12-10 08:17:24

标签: java android service mvp

我遵循Model View Presenter(MVP)模式,类似于Antonio Leiva的例子:antoniolg/github

我已经玩了很多,我想知道如何从service层开始interactor。通常情况下,我已将retrofit电话放在interactor内,但我想知道是否有办法从interactor启动服务,这样我就可以运行retrofit interactor而是在服务中调用。这里的问题是我没有运行服务的活动上下文,如果我要将上下文暴露给presenter,那就有点违背了MVP的目的。

我也不太确定这是否是一件好事(从交互者那里开始服务)。我正在考虑从ORGANIZATION EXTERNAL层开始提供服务,但我正朝着死胡同的方向奔向我应该如何接近这一点。

如果有办法解决这个问题,请帮助一个人吗?如果这不是一个好方法,请告诉我。

1 个答案:

答案 0 :(得分:0)

定义类例如My App extends Application和getAppInstance之类的定义方法返回Application对象,然后将此类的name属性添加到Manifest中的Applicqtion Tag,然后在用例中调用此方法以获取上下文对象并启动服务

公共类MyApp扩展了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;

}

}