Roboguice は初めてで、新しい Android アプリケーションで使用したいと考えています。
RoboActivity を拡張するテスト アクティビティがあります。
public class MainActivity extends RoboActivity {
@Inject
private TestService testService;
....
}
そして、ここに私の TestService クラスがあります:
public class TestService {
@Inject
private TestDao testDao;
@Inject
protected static Provider<Context> contextProvider;
public TestService(){
Log.d("TEST_SERVICE", "Constructor test");
}
public Test getById(Integer id) throws Exception{
return testDao.queryForId(id);
}
}
注入されたクラス内の @Injected 注釈付きフィールドが注入されることを願っています!
TestService は MainActivity によって注入されます。しかし、TestDao は null であり、私の contextProvider でもあります!
IoCModule クラスを定義する roboguice.xml ファイルも定義しました。
public class IoCModule extends AbstractModule{
@Override
protected void configure() {
bind(TestDao.class).to(TestDaoOrm.class);
}
}
内側の @Inject が機能しない理由がわかりません!!
ご提案ありがとうございます。
ありがとうマルコ