我是Roboguice新手,我想在我的新Android应用程序中使用它。
我有一个扩展机器人活动性的测试活动。

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注释字段和injected类将被注入!
TestService由MainActivity注入。但是testdao是空的,也是我的contextprovider!
我还定义了一个roboguice.xml文件,该文件定义了我的iocmodule类:
public class IoCModule extends AbstractModule{
    @Override
    protected void configure() {
        bind(TestDao.class).to(TestDaoOrm.class);
    }
}

我不知道为什么体内注射不起作用!!
谢谢你的建议!!
谢谢你
马尔科

最佳答案

我已经解决了输入模块定义的问题

requestStaticInjection( TestDaoOrm.class );

10-08 01:21