问题标签 [roboguice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1865 浏览

android - 在不扩展 Activity 的情况下使用 roboguice

有没有办法在不使用 RoboActivity 扩展 Activity 类的情况下使用 roboguice。

0 投票
1 回答
3566 浏览

android - onViewCreated 与兼容性库

在 Android 应用程序中,我实现了一个片段,该片段覆盖onViewCreated以在视图存在后设置一些 OnClickListeners。

当我实施时,这一切都很好。但是,一旦我添加了兼容性库 v4 r3,似乎根本没有调用该方法。

现在我正在将我的设置迁移到 onResume 中,但这并不理想。所以这是我的问题:

  • 这是兼容性库中的错误吗?

  • 有更好的解决方法吗?

经过更多的挖掘和尝试不同的事情后,我得到了这个堆栈跟踪,这让我相信它确实是兼容性库中的一个错误。

但更奇怪的是。查看兼容性库源,该方法实际上存在但它是空的。

0 投票
1 回答
1407 浏览

guice - 模拟框架在单元测试中与依赖注入框架一起使用

当我使用 EasyMock 和 Guice 框架编写测试时,我遇到了一个问题。代码如下:

ATest中,我将 B 实现替换为模拟对象。但是,当注入器创建 A 的实例时,B.addListener()会在A的构造函数中调用,不幸的是,即使我从未预料到,EasyMock 也会记录此调用。

因此,我的问题是 EasyMock 希望我B.addListener()在每个测试用例中调用ATest. 请给我任何建议来克服这个问题。谢谢。

0 投票
4 回答
12018 浏览

android - 使用 Guice for Android 有意义吗

我正在讨论在一个非常复杂且具有很多业务逻辑的 android 项目中使用 guice。Guice 似乎很合适,但每当我开始深入阅读它时,它开始看起来比它需要的更复杂。

我不明白的一件事是:如果 Guice 如此出色并且是编写 Java 代码的最佳方式,那么为什么使用 Guice 的 Android 代码如此之少......为什么 Google 没有在内部为 Android 使用 guice?

0 投票
1 回答
5530 浏览

android - Injectview (Roboguice) 不能使用多个布局

所以我对这个活动有不同的布局。

而且我有不同的课程,每个课程都打开并使用布局做他们的事情。

我通过@Inject 将这些类注入到Activity 中。这一切都没有问题。

但是,当我尝试在非活动布局中的其中一个控件上使用 @InjectView 时,我得到一个错误。

11-02 19:17:31.086:错误/AndroidRuntime(1326):原因:java.lang.NullPointerException:当字段不是@Nullable 时,无法将空值注入类 be.baes.notes.View.EditNoteImpl.saveButton

这将是代码。

但是我可以做到这一点。

有没有更好的方法来做到这一点?

0 投票
2 回答
501 浏览

android - 配置 RoboGuice 时没有任何反应

我是 RoboGuice 的新手,我正在尝试设置我的活动以使用 DI。但是,当我尝试使用它时没有任何反应。在我调用“super.onCreate(savedInstanceState);”后,我只得到一个没有内容的空白黑色窗口,也没有登录我的 Activity.onCreate() 方法;

请参阅以下 2 段代码:

}

公共类 ClikClokModule 扩展 AbstractAndroidModule {

}

如果您查看上面的代码,我永远不会得到第二次日志记录。但是,如果我要从 Activity 扩展并从清单中删除 android:name="com.clikclok.ClikClokApplication" 属性,那么我确实会得到第二个日志记录(尽管由于没有执行初始化,NullPointers 失败)。

那么 super.onCreate(savedInstanceState); 中可能会发生什么?这导致我的应用程序无法工作?

谢谢

从上面更新:

我花了很多时间对此进行调查,现在使用 Eclipse 的调试器可以看到我的代码似乎挂在 RoboGuice 中的什么位置。

以下代码来自 InjectorImpl 类:

}

因此,我使用调试器深入研究了 Guice 3.0 代码并进入了 FailableCache 类:

}

这怎么可能只是在从地图中检索密钥时挂起?我对代码不够熟悉,排除故障很混乱。任何建议表示赞赏。

0 投票
1 回答
550 浏览

java - Scala+Android+Roboguice:加载程序中的 ClassNotFoundException

我从 NotesList 演示开始评估 Android 上的 Scala。我能够NotesLiveFolder.java毫无问题地用它的 Scala 等效文件替换该文件。

接下来,我介绍了 Roboguice,创建了一个NotesListApplication.java设置 Guice 模块的简单程序,并成功地将资源注入到NoteEditor.java活动中。

最后,当我尝试NotesListApplication.java用它的 Scala 等效项替换时,在应用程序完成启动之前出现以下运行时错误:

java.lang.ClassNotFoundException: com.example.android.notepad.NotesListApplication in loader dalvik.system.PathClassLoader[/data/app/com.example.android.notepad-1.apk]

我创建了一个包含完整 Eclipse 项目和源代码的Google Code 项目。原来的功能NotesListApplication.java是:

导致错误的Scala等价物是:

我正在使用 ScalaIDE 插件在 Eclipse 中构建。我没有运行任何 treeshaker/proguard/etc。

反汇编按预期显示了 Scala 类:

Class descriptor : 'Lcom/example/android/notepad/NotesLiveFolder;'

...

Class descriptor : 'Lcom/example/android/notepad/NotesListApplication;'

有什么想法可能导致这种情况吗?

0 投票
3 回答
955 浏览

android - Roboguice、ADT 14+ 和 Android 库项目

Roboguice 是一个整洁的小工具,用于整理样板 Android 视图代码。

我喜欢使用@InjectView注释,这样我就不必像这样初始化我的活动的 onCreate() 方法中的每个视图字段:

作为 Google 对 ADT 14+ 库项目的全面更改的一部分(总的来说这是一个值得欢迎的改进),生成的 R 类中的 id 字段不再是最终的。

所以现在当你想在库项目中使用 Roboguice 时,@InjectView注释不再编译,因为注释是在编译时处理的,R.id.title不再是最终的。

无赖...

还有其他人在使用 Roboguice 并有创造性的解决方法吗?

0 投票
1 回答
466 浏览

android - 控制反转 新对象创建

我正在进入控制反转,特别是使用Android 和我有一个问题GuiceRoboGuice

我有一个返回资源(本质上是 XML 或 JSON 字符串)的方法调用。

该类Resource实际上只是一个 Wrapped String,所以我认为在构造函数中传递它是有意义的,因为它是Resource对象的重要组成部分。

几个问题:

  1. 如何ResourcegetResource通话中构造一个新的?我认为我想使用 IoC 而不是调用new该方法。
  2. 如果另一个类在构造函数中使用a,当我在构造时需要动态时Resource,如何使用容器来构造它?我刚刚问了一个类似的问题 ,并相信可能有一种特定的方法可以使用. GuiceStringGuice

非常感谢!

0 投票
1 回答
1342 浏览

android - 无法让 Roboguice Astroboy 示例工作

我花了几个小时试图让 Roboguice 工作,但没有成功。我最近的努力涉及尝试让 Astroboy 示例工作,但在(最终)部署它之后我遇到了问题。

这是我执行的步骤的摘要:

  1. 安装了 Apache Maven 3 的干净副本
  2. 安装了 Android SDK 的干净副本并下载了所有可用平台
  3. 安装并运行 Maven Android SDK Deployer,以便下载所有工件等
  4. 下载了 Astroboy 示例的克隆
  5. 执行 mvn clean install 来构建 roboguice 和 astroboy。测试失败,因为我没有下载平台 9。不知道为什么它引用似乎是过时的 API,所以我运行这个命令来下载甚至过时的 API:android update sdk --no-ui --obsolete --force
  6. 再次执行 mvn clean install ,这次构建成功
  7. 执行 mvn android:deploy 和 android:run。成功,但出现此警告:

    [警告] [警告] 在为 org.roboguice:astroboy:apk:2.0-SNAPSHOT 构建有效模型时遇到了一些问题 [警告] 'parent.relativePath' 指向 org.roboguice:roboguice-aggregator ins 的 org.sonatype .oss:oss-parent,请在第 104 行第 13 列验证您的项目结构 [警告] [警告] 强烈建议修复这些问题,因为它们会威胁到您构建的稳定性。[警告] [警告] 出于这个原因,未来的 Maven 版本可能不再支持构建此类格式错误的项目。[警告]

  8. 运行应用程序并立即收到此错误:

    /li>

谁能帮我解决这个问题?我已按照所有说明进行操作,但不知道现在是什么问题。

谢谢