私は自分のプロジェクトでDIにRoboguiceを使用しています。Androidのドキュメントによると、アプリケーションのインスタンスは1つしか存在できません。しかし、OSとRoboguiceによって作成されたインスタンスは異なります。
OSによって作成されたアプリケーションを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();
}