我开始使用 roboguice 的依赖注入,并创建了一个类似 DataProvider 的接口。我有一个实现,它从位于 WebServerDataProvider 类中的某个 WebServer 中检索数据。为了消除对网络服务器的等待,我添加了一个 DummyDataProvider。
我会把这样的课放在哪里?我不喜欢它在 /src/main/java/my/package/providers/ 因为它不是应用程序的真实部分,但我仍然需要它进行开发。
我开始使用 roboguice 的依赖注入,并创建了一个类似 DataProvider 的接口。我有一个实现,它从位于 WebServerDataProvider 类中的某个 WebServer 中检索数据。为了消除对网络服务器的等待,我添加了一个 DummyDataProvider。
我会把这样的课放在哪里?我不喜欢它在 /src/main/java/my/package/providers/ 因为它不是应用程序的真实部分,但我仍然需要它进行开发。
通常,您会在单元测试中使用这样的类。Roboguice 与 Robolectric 配合得很好,它允许你模拟 http 访问之类的东西。如果你这样做,你会把你的代码放在 src/test/java/...
如果你想用它来摆弄应用程序而不每次都打扰服务器,你可以把它放到主项目中,并用一些常量来停用它以进行部署,例如
if (DEBUG) {
setDataProvider(new MockDataProvider());
}
如果你记得重置你的变量,Proguard 应该足够聪明,可以删除这个未使用的类(你可能不得不摆弄那里的设置)。