我遵循Model View Presenter(MVP)模式,类似于Antonio Leiva的例子:antoniolg/github。
我已经玩了很多,我想知道如何从service
层开始interactor
。通常情况下,我已将retrofit
电话放在interactor
内,但我想知道是否有办法从interactor
启动服务,这样我就可以运行retrofit
interactor
而是在服务中调用。这里的问题是我没有运行服务的活动上下文,如果我要将上下文暴露给presenter
,那就有点违背了MVP的目的。
我也不太确定这是否是一件好事(从交互者那里开始服务)。我正在考虑从ORGANIZATION EXTERNAL
层开始提供服务,但我正朝着死胡同的方向奔向我应该如何接近这一点。
如果有办法解决这个问题,请帮助一个人吗?如果这不是一个好方法,请告诉我。
答案 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;
}
}