问题标签 [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 回答
667 浏览

android - 将 VPI 添加到具有大量依赖项的项目会导致 3.0 之前的设备出现错误

我最近从 eclipse 切换到了 intellij,到目前为止,这是一次很棒的体验,我真的很喜欢它。但是,我遇到了一个奇怪的问题,我一直在用头撞墙。我正在尝试在我的应用程序中使用 ViewPagerIndicator、ActionBarSherlock、RoboSherlock 和 RoboGuice 以及其他一些常见框架。在我添加 VPI 之前一切正常。

基本上,当将 ViewPagerIndicator 依赖项添加到我的项目时,它会破坏 3.0 之前的设备的应用程序(在 3.0+ 上运行良好)。

该错误相当令人困惑,因为当 VPI apklib 存在时,似乎与 ABS 兼容主题没有被拾取(请注意,我在清单中使用的是 ABS 兼容主题)。

当我更深入地查看跟踪时,我看到了以下内容(即使我使用的是 sherlock 主题):

请参阅完整的异常堆栈跟踪和活动/清单/pom.xml 代码@https ://gist.github.com/3743646

再一次 - 当添加 VPI 项目作为 Maven 依赖项时,这只发生在 3.0 之前的设备上。如果我删除 VPI - 该应用程序在 2.2+ 设备上运行良好。

据我所知,我的 Pom.xml 几乎与 Android Bootstrap 应用程序完全一样,它在 2.2+ 上运行良好。

我的猜测是我有某种依赖配置问题。我对 maven 和 intellij 非常熟悉,所以很难解决问题。

我不确定是否有其他人看到过这种行为,或者我是否犯了新手错误。任何帮助表示赞赏 - 如果我解决了这个问题,我会用答案更新这个问题。

提前感谢大家,如果我在这篇文章中违反了任何 stackoverflow 礼节,我们深表歉意。

编辑:发现潜在的相关问题@ http://youtrack.jetbrains.com/issue/IDEA-90719

0 投票
2 回答
3268 浏览

android - 如何在 Roboguice 中使用上下文单例

@ContextSingleton用来标记依赖于上下文注入的单例。然而,从 RoboGuice 源代码和我自己的测试来看,似乎它在Application上下文和不同的活动上下文之间产生了差异。这是完全有道理的,只是当我将它与这样的事件管理工具一起使用时——至少对我来说——有问题:

尽管该服务被定义为单例,但似乎在它第一次注入某处之前似乎没有创建它的实例,显然是通过延迟加载。因此,触发 aMyEvent不会使侦听器调用。我们当时认为我们可以在我们的应用程序中“手动”预先加载类,例如

并因此注册侦听器,但这仅在 Activity 中执行时才能正常工作,Activity 后来也注入EventManager来触发事件,但不是应用程序。

所以,在一个理想的世界里,我希望我可以告诉RoboGuice 它应该将单例绑定到哪个上下文,就像这样

但显然这是不可能的。

我错过了什么?

0 投票
0 回答
378 浏览

android - 屏幕方向更改时的 RoboService 异常

嗨,

我有一个活动绑定/取消绑定到OnStart()/OnStop(). 如果我在水平握住手机的同时打开列表中的链接(在浏览器中打开),应用程序会崩溃。

我想提一下,该活动在清单中被限制为纵向模式,并且是singleTop.

我收到以下错误:

我注意到,如果在方向改变时服务仍然绑定,那么应用程序就会崩溃。

我的问题:

  1. RoboGuice 2.0 中是否存在错误或者我只是使用错误?
  2. 有没有办法在方向改变之前取消绑定服务?
  3. 如果对于另一个活动我有绑定/解除绑定,OnCreate()/OnDestroy()并且我想保留该绑定直到活动被破坏,在这些情况下我该怎么做?
0 投票
1 回答
342 浏览

android - Android,删除 RoboGuice 帮助需要替换 getInjector().getInstance

我正在开发第三方应用程序,我需要删除 RoboGuice,我需要知道我需要做什么才能用 android 代码替换各种 getInjector 方法在我有的活动中

这只是设置 Helper 类的实例并在活动的 onCreate 中初始化它的情况吗?

我还需要知道如何/我需要做什么来更换

0 投票
1 回答
282 浏览

android - Roboguice 在 JUnit 测试中不起作用

我正在尝试使用使用 roboguice 的类编写一些测试。不幸的是,guice 似乎根本没有注入任何东西。

我的设置是这样的...

  • 我正在使用 Intellij
  • 我有 2 个 intellij 模块(1 个用于代码,1 个用于测试)
  • 我有 2 个单独的模块类,它们扩展了定义绑定的 AbstractModule(roboguice 类)
  • 我有 2 个 roboguice.xml 文件指向这样的包...

这个设置看起来正确吗?任何注入的类目前都是空的

0 投票
0 回答
342 浏览

android - 解决循环依赖 RoboGuice

我的应用程序中似乎存在循环依赖问题。我已经测试了所有类并且它们运行良好,但是在运行我的应用程序时我无法实例化它们。

问题的根源在这个类

这个类提供了 httpClient 并添加了一个拦截器。拦截器看起来像这个提供者被用来为这个类提供 httpclient

问题出现是因为 httpResponseInterceptor 还使用 ServerCommunicator 类在用户未经过身份验证时向服务器发送请求。

如何解决这个问题?

0 投票
0 回答
162 浏览

android - RoboGuice2.0 ArrayIndexOutOfBoundsException

当我使用 RoboGuice2.0 注入一些模块时,我得到一个像这样的 ArrayIndexOutOfBoundsException

我像这样使用了 setBaseApplicationInjector。

很可能是 RoboGuice2.0 源代码中我在 List 中添加内容时发生的。但是在使用 list.add 方法时似乎不可能抛出 ArrayIndexOutOfBoundsException。我想知道我的用法是否正确以及解决此问题的方法。

0 投票
1 回答
490 浏览

android - RoboGuice 2.0 和 Robolectric 1.1 测试 RoboAsyncTask

我目前在我的 Android 应用程序中同时使用 RoboGuice 2.0 和 Robolectric 1.1。我注意到 RoboLooperThread 在 2.0 中消失了,我在调用任何 RoboAsyncTask 时遇到了困难。当主测试线程调用.execute()RoboAsyncTask,永远不会调用 RoboAsyncTask 的call()方法。我的问题是如何强制测试线程来回切换 UI 线程,以便执行任务?

谢谢,

文斯

0 投票
2 回答
1731 浏览

android - Android 原生片段 vs roboguice 支持 v4 库片段

我有一个 XML 布局文件,它由一个 Activity 膨胀

Activity 是 FragmentActivity(来自 v4 库)的子类(不是直接的)。

现在,在 com.xyz.fragments.TabFragment 中,我有以下类声明

运行时,应用程序崩溃,adb logcat 显示如下错误:

所以第 22 行正是 xml 布局中的这一行

它带有红色下划线......它说 TabFragment 不能分配给 android.app.fragment

好吧,我明白了,我正在使用来自支持库 v4 的 roboguice 的 FragmentList,与 android.app.fragment 不同

所以……我该怎么办?我假设这就是应用程序崩溃的原因。

下面的完整堆栈跟踪

0-25 20:59:54.535:INFO/ApplicationPolicy(1903):isApplicationInstallationEnabled:pkg com.xyz 10-25 20:59:55.455:INFO/PackageManager(1903):删除非系统包:com.xyz 10-25 20:59:55.455:INFO/ActivityManager(1903):强制停止包 com.xyz uid=10017 10-25 20:59:55.610:INFO/PackageManager(1903):ICS_DEBUG scanPackageLI 进入 com.xyz 10-25 20:59 :55.610:INFO/PackageManager(1903):ICS_DEBUG 检查 com.xyz 10-25 20:59:55.615:INFO/PackageManager(1903):在 com.xyz 10-25 20:59:58.390 上运行 dexopt:INFO/ ActivityManager(1903): 强制停止包 com.xyz uid=10017 10-25 20:59:59.305: DEBUG/PackageManager(1903): 新包安装在 /data/app/com.xyz-2.apk 10-25 20 :59:59.705:INFO / ActivityManager(1903):强制停止包com.xyz uid = 10017 10-25 20:59:59.875:DEBUG / Launcher.LauncherModel(2152):->包:com。xyz 10-25 21:00:00.050: INFO/SocialHub(6289): [UinboxReceiver] onReceive() >> intent.getData(): com.xyz 10-25 21:00:00.345: DEBUG/Launcher.LauncherModel(2152 ): --> 更新包 com.xyz 10-25 21:00:00.345: DEBUG/Launcher.LauncherModel(2152): --> 包:com.xyz 10-25 21:00:00.640: INFO/DebugDb(2152 ): 更新应用信息 -1 com.sec.android.app.twlauncher.ApplicationInfo xyz -1 4 15 75|-1|-1|-1|-1|0 com.sec.android.app.twlauncher.ApplicationInfo@ 421323f0 10-25 21:00:01.675:INFO/ActivityManager(1903):从 PID 7524 10-25 21:00:01.775 开始 {flg=0x10000000 cmp=com.xyz/.TabActivity}:INFO/ActivityManager(1903):为活动 com.xyz/.TabActivity 启动 proc com.xyz:pid=7536 uid=10017 gids={3003} java.lang.RuntimeException:无法启动活动 ComponentInfo{com.xyz/com.xyz.TabActivity}:android。视图.InflateException:二进制 XML 文件第 22 行:在 com.xyz.TabActivity.onCreate(TabActivity.java:25) 10-25 21:00:24.225:INFO/ActivityManager(1903):处理 com.xyz (pid 7536) 时出错已经死了。

0 投票
1 回答
589 浏览

android - Android Roboguice 扩展 Robo 类的目的是什么?

我是 roboguice 的新手,我一直在查看他们的文档,我知道是的,而不是说

但是扩展它们的类的目的是什么,例如 RoboAcitivy 或 RoboFragment 等?我的意思是这样做有什么好处?我还是没看到。

请你好