我在我的项目中使用Roboguice进行依赖注入。根据Android文档,只能存在一个应用程序实例。但是,由操作系统创建的实例与由Roboguice创建的实例是不同的。
如何强制Roboguice注入由操作系统创建的应用程序实例并禁用新实例的创建?
以下是说明情况的一些代码:
如何强制Roboguice注入由操作系统创建的应用程序实例并禁用新实例的创建?
以下是说明情况的一些代码:
public class MyApplication extends Application {
public static MyApplication getInstance() {
if (instance == null) {
throw new IllegalStateException("Application isn't initialized yet!");
}
return instance;
}
@Override
public void onCreate() {
super.onCreate();
instance = this;
}
}
public class MyActivity extends RoboActivity {
// roboApp and osApp two different objects but expected that roboApp the same as osApp
@Inject
private MyApplication roboApp;
private MyApplication osApp = MyApplication.getInstance();
}