问题标签 [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.
android - 在不扩展 Activity 的情况下使用 roboguice
有没有办法在不使用 RoboActivity 扩展 Activity 类的情况下使用 roboguice。
android - onViewCreated 与兼容性库
在 Android 应用程序中,我实现了一个片段,该片段覆盖onViewCreated以在视图存在后设置一些 OnClickListeners。
当我实施时,这一切都很好。但是,一旦我添加了兼容性库 v4 r3,似乎根本没有调用该方法。
现在我正在将我的设置迁移到 onResume 中,但这并不理想。所以这是我的问题:
这是兼容性库中的错误吗?
有更好的解决方法吗?
经过更多的挖掘和尝试不同的事情后,我得到了这个堆栈跟踪,这让我相信它确实是兼容性库中的一个错误。
但更奇怪的是。查看兼容性库源,该方法实际上存在但它是空的。
guice - 模拟框架在单元测试中与依赖注入框架一起使用
当我使用 EasyMock 和 Guice 框架编写测试时,我遇到了一个问题。代码如下:
在ATest
中,我将 B 实现替换为模拟对象。但是,当注入器创建 A 的实例时,B.addListener()
会在A
的构造函数中调用,不幸的是,即使我从未预料到,EasyMock 也会记录此调用。
因此,我的问题是 EasyMock 希望我B.addListener()
在每个测试用例中调用ATest
. 请给我任何建议来克服这个问题。谢谢。
android - 使用 Guice for Android 有意义吗
我正在讨论在一个非常复杂且具有很多业务逻辑的 android 项目中使用 guice。Guice 似乎很合适,但每当我开始深入阅读它时,它开始看起来比它需要的更复杂。
我不明白的一件事是:如果 Guice 如此出色并且是编写 Java 代码的最佳方式,那么为什么使用 Guice 的 Android 代码如此之少......为什么 Google 没有在内部为 Android 使用 guice?
android - Injectview (Roboguice) 不能使用多个布局
所以我对这个活动有不同的布局。
而且我有不同的课程,每个课程都打开并使用布局做他们的事情。
我通过@Inject 将这些类注入到Activity 中。这一切都没有问题。
但是,当我尝试在非活动布局中的其中一个控件上使用 @InjectView 时,我得到一个错误。
11-02 19:17:31.086:错误/AndroidRuntime(1326):原因:java.lang.NullPointerException:当字段不是@Nullable 时,无法将空值注入类 be.baes.notes.View.EditNoteImpl.saveButton
这将是代码。
但是我可以做到这一点。
有没有更好的方法来做到这一点?
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 类:
}
这怎么可能只是在从地图中检索密钥时挂起?我对代码不够熟悉,排除故障很混乱。任何建议表示赞赏。
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;'
有什么想法可能导致这种情况吗?
android - Roboguice、ADT 14+ 和 Android 库项目
Roboguice 是一个整洁的小工具,用于整理样板 Android 视图代码。
我喜欢使用@InjectView
注释,这样我就不必像这样初始化我的活动的 onCreate() 方法中的每个视图字段:
作为 Google 对 ADT 14+ 库项目的全面更改的一部分(总的来说这是一个值得欢迎的改进),生成的 R 类中的 id 字段不再是最终的。
所以现在当你想在库项目中使用 Roboguice 时,@InjectView
注释不再编译,因为注释是在编译时处理的,R.id.title
不再是最终的。
无赖...
还有其他人在使用 Roboguice 并有创造性的解决方法吗?
android - 控制反转 新对象创建
我正在进入控制反转,特别是使用Android 和我有一个问题Guice
。RoboGuice
我有一个返回资源(本质上是 XML 或 JSON 字符串)的方法调用。
该类Resource
实际上只是一个 Wrapped String
,所以我认为在构造函数中传递它是有意义的,因为它是Resource
对象的重要组成部分。
几个问题:
- 如何
Resource
在getResource
通话中构造一个新的?我认为我想使用 IoC 而不是调用new
该方法。 - 如果另一个类在构造函数中使用a,当我在构造时需要动态时
Resource
,如何使用容器来构造它?我刚刚问了一个类似的问题 ,并相信可能有一种特定的方法可以使用.Guice
String
Guice
非常感谢!
android - 无法让 Roboguice Astroboy 示例工作
我花了几个小时试图让 Roboguice 工作,但没有成功。我最近的努力涉及尝试让 Astroboy 示例工作,但在(最终)部署它之后我遇到了问题。
这是我执行的步骤的摘要:
- 安装了 Apache Maven 3 的干净副本
- 安装了 Android SDK 的干净副本并下载了所有可用平台
- 安装并运行 Maven Android SDK Deployer,以便下载所有工件等
- 下载了 Astroboy 示例的克隆
- 执行 mvn clean install 来构建 roboguice 和 astroboy。测试失败,因为我没有下载平台 9。不知道为什么它引用似乎是过时的 API,所以我运行这个命令来下载甚至过时的 API:android update sdk --no-ui --obsolete --force
- 再次执行 mvn clean install ,这次构建成功
执行 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 版本可能不再支持构建此类格式错误的项目。[警告]
运行应用程序并立即收到此错误:
/li>
谁能帮我解决这个问题?我已按照所有说明进行操作,但不知道现在是什么问题。
谢谢