2013-04-04 38 views
1

我是使用roboguice的新手,我很難在應用程序中配置注入。使用RoboGuice在我的活動中注入類

說,我有以下接口

public interface IAPICall{ 
     void doSomething(); 
} 

,我有我的界面

public class MyApiCall implements IAPICall{ 
    public void doSomething(){ 
    } 
} 



public class MyMockApicall implements IAPICall{ 
     public void doSomething(){ 
     } 
    } 

的兩種不同的實現現在,我的要求是,我想接口注入到我的活動。我如何配置哪些具體類被注入。在測試期間,我想在生產期間注入我的模擬類,我想注入實際的類。我如何配置這個?

親切的問候

回答

1

在你吉斯配置模塊:

public class GuiceConfigurationModule extends AbstractModule { 
... 
    @Override 
protected void configure() { 
     ... 
     bind(IAPICall.class).to(MyApiCall.class); 
     ... 
    } 
... 
} 

在你的活動:

@Inject 
IAPICall someApiCall; 

測試期間與嘲笑接口發揮最好的方法是創建一個測試模塊的綁定指向模型類。 Robolectric 上有一個關於如何做到這一點的教程。

http://pivotal.github.com/robolectric/roboguice.html

要將模塊添加到您的應用程序,在值增加roboguice.xml文件夾ressources:

<?xml version="1.0" encoding="utf-8"?> 
    <resources> 
    <string-array name="roboguice_modules"> 
     <item>com.stackoverflow.test.GuiceConfigurationModule</item> 
    </string-array> 
    </resources> 

這說明如下:

http://code.google.com/p/roboguice/wiki/UpgradingTo20

+0

所以你在哪裏鉤應用程序中的GuiceConfigurationModule?編輯了配置模塊設置的 – user1730789 2013-04-04 14:37:08

+0

。 – Gomoku7 2013-04-05 08:42:57

+0

感謝您的支持。這確實有奇效。今天 – user1730789 2013-04-05 14:43:38