草庐IT

AndroidAnnotations 和 Dagger 2

全部标签

android - Dagger 2 和 Android 数据绑定(bind)冲突

同时添加Dagger2时和AndroidDataBinding对于我的项目,我遇到了一些以下构建时错误。这似乎是一个已知问题(请参阅[1]或[2]),因为我得到了完全相同的错误。不幸的是我无法解决它们(像其他人一样)。有人可以使用当前版本的Dagger2和数据绑定(bind)进行完整的工作设置,并且可以提供帮助吗?这里是错误:C:\Users\Kai\AndroidStudioProjects\WearCompass\mobile\src\main\java\com\comparilla\wearcompass\ui\navigation\InfoPanelFragment.java:

java - Dagger 2重新初始化单例

我正在尝试使用Dagger2将我的用户对象存储为单例。@Provides@Named("me")@SingletonUserprovideUser(PrefsUtilprefsUtil,UserDaouserDao){intid=prefsUtil.getFromPrefs("me",0);if(id==0){returnnewUser();}try{returnuserDao.queryForId(id);}catch(SQLExceptione){returnnewUser();}}它工作正常并用User对象注入(inject)我的类。但是,登录并从服务器获取用户并将其存储在上述方

java - 如何使用 Dagger 2 将对象注入(inject)到 Android 优先作业队列中?

我正在尝试使用Dagger2集成Retrofit2和AndroidPriorityJobQueue。很可能我在这里使用了错误的模式(我是Java和Android的新手),但我正在尝试从一个将被序列化然后在执行前反序列化的对象访问Dagger创建的Retrofit实例(Android作业队列序列化持久保存到磁盘的作业)。Retrofit实例由ApplicationDagger组件创建,因为我在其依赖项之一中使用了SharedPreferences。我无法在创建作业时将Retrofit传递给作业,因为Retrofit本身无法序列化。应用程序也无法序列化,因此我无法在作业运行时从作业中引用A

android - 使用 Dagger 2 在库模块中注入(inject)应用程序上下文

我正在构建一个具有某些功能的应用程序:ContentProvider、SyncAdapter、作业服务和相关的持久性逻辑。在这些之上是带有UI的Activity。我试图将所有上述功能放在一个单独的库模块中,因为理论上它们的逻辑是独立的,并且可以被任何应用程序重用。现在是Dagger2。我的库的依赖关系图的第一个节点(主组件)确实需要提供上下文,并且这个上下文必须从应用程序中注入(inject),因为库范围具有与应用程序相同的生命周期。显然,为了自包含,我的库不应该直接使用我的Application类。这些是我想到的可能性:在我的应用程序中构建库的主要组件,并按照建议将其存储在全局静态类

android - Dagger 代码在 Android 仪器测试中给出 NoClassDefFoundError,但在正常应用程序中有效

我在Android应用程序中使用Dagger。它在应用程序中工作,但当我运行仪器测试时,我收到NoClassDefFoundError。我正在使用Gradle和Espresso。这是在没有progaurd的情况下发生的。这很奇怪,因为加载了“Module$$ModuleAdapter”,但没有加载“Module$$ModuleAdapter$EndpointProvidesAdapter”。我将APK从设备上拉回并使用dexdump验证类确实在APK中,“Module$$ModuleAdapter$EndpointProvidesAdapter”。关于可能导致此问题的任何想法?java

android - AndroidAnnotations 的继承 Activity

我在使用AndroidAnnotations构建Activity时遇到了一些麻烦。我有一个名为TemplateActivity的父Activity:@EActivity(R.layout.activity_template)@NoTitlepublicclassTemplateActivityextendsActivity{//someviews//...@ViewById(R.id.main_framelayout)FrameLayoutmainFrameLayout;@AfterViewspublicvoidpostInit(){Log.d("DEBUG","postInit");

java - 使用 Dagger 进行嵌套/递归注入(inject)

当使用Dagger时,哪些方法将允许在对象上免费/轻松地实例化@Inject字段,这些对象也通过注入(inject)实例化。例如,下面的代码会将Bar类型的对象注入(inject)到给定的Foo对象中。它将以显示的两种方式之一执行此操作。但是,每个Bar对象的Sly字段与该行为不匹配。滚publicclassFoo{@InjectBarbar;publicStringgetValue(){return"Foo'sbarvalue:"+bar.getValue();}}砰publicclassBar{@InjectSlysly;publicStringgetValue(){return"

Android Dagger 2 POJO字段注入(inject)空

今天刚开始使用Dagger2,我对我究竟需要如何设置一切感到困惑。我正在尝试注入(inject)一个POJO,但它始终为空。首先,一些代码:应用程序.javaprivateAppComponentappComponent;@OverridepublicvoidonCreate(){super.onCreate();appComponent=DaggerAppComponent.builder().appModule(newAppModule(this)).build();}publicAppComponentcomponent(){returnappComponent;}AppModu

android - 使用 android gradle + dagger 运行 instrumentTests

我最近开始使用AndroidStudio和gradle进行android开发,发现它总体上比eclipse/ant或maven好得多。但是,我最近开始尝试使用我的应用程序实现某种单元和/或集成测试。我能够使用谷歌最近发布的Espresso框架进行基本测试。尽管我需要模拟和注入(inject)对象的模拟版本,但我进行了一些测试。我过去在另一个项目中使用过dagger,所以我将dagger包含在我的项目中。但是,由于以下错误,现在我的测试无法运行:gradleconnectedCheck...4.1.2failed:Instrumentationrunfaileddueto'java.la

android - 使用 Jack 时未生成 Dagger 2 组件

当我启用Jackcompiler在AndroidStudio2.2中Dagger2未生成组件。Dagger2可以和Jack一起使用吗?如果是这样,我将如何配置我的应用程序?从我的应用程序的build.gradle:jackOptions{enabledtrue}compileOptions{sourceCompatibilityJavaVersion.VERSION_1_8targetCompatibilityJavaVersion.VERSION_1_8} 最佳答案 我花了2天时间才弄清楚这个问题。所以我转回来在这里发布调查结果,