草庐IT

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

我正在使用@ContextSingleton来标记依赖于上下文注入(inject)的单例。从查看RoboGuice源代码和我自己的测试来看,它似乎在Application上下文和不同的Activity上下文之间产生了差异。这是完全有道理的,只是当我将它与这样的事件管理工具一起使用时,它是-至少对我来说-有问题:@ContextSingletonpublicclassService{@InjectprivateContextcontext;publicvoiddoSomething(@ObservesMyEventev){...}}虽然该服务被定义为单例,但在它第一次被注入(inject

java - 使用 Jackson 反序列化泛型

我正在尝试创建一个使用Jackson反序列化POJO的类。看起来像这样......publicclassDeserialiserImpimplementsDeserialiser{protectedObjectMapperobjectMapper=newObjectMapper();@OverridepublicTget(Stringcontent,Classclazz)throwsIOException{return(T)objectMapper.readValue(content,clazz);}@OverridepublicListgetList(Stringcontent,Cl

android - 带有@Inject 注释的 ProGuard 和 RoboGuice 的问题

我在优化我的Android应用程序时遇到了混淆器的一些问题。似乎Dalvik/Harmony在运行时对注解类(@com.google.inject.Inject)做了一些不满意的事情。java.lang.annotation.IncompleteAnnotationException:Theelementoptionalisnotcompletefortheannotationcom.google.inject.Injectcom.google.inject.Inject看起来像这样(Guice的一部分):@Target(value={ElementType.METHOD,Elemen

带有 RoboGuice 2.0 的 Android 应用程序 - 如何使用应用程序上下文注入(inject)单例

我有一个GameStateManager单例,我希望它可用于我的所有Activity。特别是,我希望它使用应用程序上下文而不是单独的Activity上下文来监听EventManager触发的事件。GameStateManager标有单例注解我试图在Application.OnCreate期间注入(inject)GameStateManager(抱歉,下面的fragment是凭内存输入的,不是复制粘贴的,所以可能不正确)publicvoidOnCreate(){GameStateManagergameStateManager=RoboGuice.InjectMembers(this.ge

java - 如何配置 Guice 3.0 的 Maven 依赖项以便在没有 AOP 的情况下使用?

我有一个AndroidMaven项目,想使用GoogleGuice3.0Guice有一个与Android兼容的“No-AOP”版本。我怎么知道maven使用guice的“无AOP”版本?更新1(03.05.201310:46MSK):当我添加对GoogleGuice的依赖时,在构建过程中出现以下异常(mvncleaninstall):[INFO]UNEXPECTEDTOP-LEVELEXCEPTION:[INFO]java.lang.IllegalArgumentException:alreadyadded:Lcom/google/inject/AbstractModule;[INFO

Android - 设置 Roboguice 2.0?

我开始了一个新项目(在Eclipse经典中),添加了roboguice-2.0.jarguice-2.0-no-aop.jar和jsr305-1.3.9.jar到我的项目和构建路径。第一步是扩展RoboApplication,但是eclipse找不到这个类的匹配包。我查看了源代码,roboguice的包是roboguice.application.RoboApplication,它不存在。我的项目中没有roboguice下的应用。我错过了什么? 最佳答案 因此,令人沮丧的是,roboguice库开发有outpaceditsdocum

java - 当我尝试使用 Guice 覆盖通用绑定(bind)时,为什么会出现错误? (文字类型)

我想覆盖泛型类型绑定(bind),但我总是遇到相同的“未绑定(bind)实现”错误。我正在使用roboguice3。这是我使用的代码示例:publicinterfaceIParser{}publicclassParser1implementsIParser{IParsermParser;@InjectpublicParser1(IParserparser){mParser=parser;}}publicclassParser2extendsParser1{@InjectpublicParser2(IParserparser){super(parser);}}publicclassMyM

android - 使用 Guice 将依赖项注入(inject) Android Activity 的构造函数

有人知道使用Guice将依赖项注入(inject)Android中Activity的构造函数的方法吗?看起来Activity通常只有默认构造函数,以便平台可以轻松创建新实例。虽然使用单例来引用注入(inject)器并获取依赖项很容易,但这种方式不太干净,并且引入了一些静态。有什么建议吗? 最佳答案 我不知道我怎么会错过这个!https://github.com/roboguice/roboguice 关于android-使用Guice将依赖项注入(inject)AndroidActivi

Google Guice 用户指南 - Ⅱ:愿景

译者:kefate原文:https://github.com/google/guice/wiki/Motivation将所有组件连接在一起是应用程序开发中繁琐的一部分。有多种方法可以将数据、服务和表示层类连接在一起。为了对比这些方法,我们将编写一个披萨订购网站的计费代码:publicinterfaceBillingService{/***尝试使用信用卡对订单进行扣款。成功和失败的交易都将被记录**@return交易的收据。如果扣款成功,收据将显示成功信息;否则,收据将包含一份拒绝说明,描述为何扣款失败。*/ReceiptchargeOrder(PizzaOrderorder,CreditCar

java - 构建器模式与依赖注入(inject)(例如通过 Guice)

我正在开发一个简单的树结构数据库,我通常通过构建器(构建器模式)设置依赖项或可选设置。现在我不确定何时使用Guice,何时使用Builder模式以及何时使用静态工厂方法而不是构造函数本身。我读过EffectiveJava好几遍,我认为它至少提到了很多不公开构造函数的优点。是时候重读;-)那么,您知道哪些案例可以清楚地区分吗?我不应该公开构造函数吗?因此,例如在每种情况下都写publicstaticFoogetInstance(...){returnnewFoo(...)}? 最佳答案 我坚信您不需要为所有使用依赖注入(inject)