3

我是 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 内部的注释字段和注入的 Class 将被注入!

TestService 由 MainActivity 注入。但是 TestDao 是空的,也是我的 contextProvider!

我还定义了一个 roboguice.xml 文件,它定义了我的 IoCModule 类:

public class IoCModule extends AbstractModule{
    @Override
    protected void configure() {
        bind(TestDao.class).to(TestDaoOrm.class);
    }
}

我不知道为什么内部的@Inject 不起作用!!

谢谢你的任何建议!!

谢谢马可

4

1 回答 1

2

我已经解决了我的模块定义

requestStaticInjection( TestDaoOrm.class );
于 2012-08-20T13:38:31.357 回答