androidannotations-dagger-example
全部标签 当使用Dagger时,哪些方法将允许在对象上免费/轻松地实例化@Inject字段,这些对象也通过注入(inject)实例化。例如,下面的代码会将Bar类型的对象注入(inject)到给定的Foo对象中。它将以显示的两种方式之一执行此操作。但是,每个Bar对象的Sly字段与该行为不匹配。滚publicclassFoo{@InjectBarbar;publicStringgetValue(){return"Foo'sbarvalue:"+bar.getValue();}}砰publicclassBar{@InjectSlysly;publicStringgetValue(){return"
今天刚开始使用Dagger2,我对我究竟需要如何设置一切感到困惑。我正在尝试注入(inject)一个POJO,但它始终为空。首先,一些代码:应用程序.javaprivateAppComponentappComponent;@OverridepublicvoidonCreate(){super.onCreate();appComponent=DaggerAppComponent.builder().appModule(newAppModule(this)).build();}publicAppComponentcomponent(){returnappComponent;}AppModu
我最近开始使用AndroidStudio和gradle进行android开发,发现它总体上比eclipse/ant或maven好得多。但是,我最近开始尝试使用我的应用程序实现某种单元和/或集成测试。我能够使用谷歌最近发布的Espresso框架进行基本测试。尽管我需要模拟和注入(inject)对象的模拟版本,但我进行了一些测试。我过去在另一个项目中使用过dagger,所以我将dagger包含在我的项目中。但是,由于以下错误,现在我的测试无法运行:gradleconnectedCheck...4.1.2failed:Instrumentationrunfaileddueto'java.la
当我启用Jackcompiler在AndroidStudio2.2中Dagger2未生成组件。Dagger2可以和Jack一起使用吗?如果是这样,我将如何配置我的应用程序?从我的应用程序的build.gradle:jackOptions{enabledtrue}compileOptions{sourceCompatibilityJavaVersion.VERSION_1_8targetCompatibilityJavaVersion.VERSION_1_8} 最佳答案 我花了2天时间才弄清楚这个问题。所以我转回来在这里发布调查结果,
我正在尝试决定是使用Transfuse还是Dagger进行Android依赖项注入(inject)。我从未使用过Transfuse,并且对Dagger有基本的了解。非常感谢。 最佳答案 首先,我是Transfuse的主要作者因此这个答案可能有点偏向那个方向。Transfuse和Dagger都以类似的方式处理Android的依赖注入(inject)/控制反转。两者都在编译时通过JSR269使用注释处理生成支持DI/IOC功能的代码。这使他们能够避免通常与非AndroidJava中发现的DI容器相关的昂贵的基于运行时反射的分析。不谈细节
我正在尝试使用Dagger2进行依赖注入(inject).它在构建阶段给出错误,并说无法注入(inject)SharedPreference实例。这是我的模块和组件。应用模块@ModulepublicclassApplicationModule{privateApplicationapp;privateStringPREF_NAME="prefs";publicApplicationModule(Applicationapp){this.app=app;}@Singleton@ProvidespublicPicassogetPicasso(){returnnewPicasso.Buil
我在instructionsfromtheofficialdocs之后将Dagger2添加到我的Android应用程序中.我以前使用过Dagger和Dagger2,Google似乎已经根据以下引述修改了Android的实现;Theclassesindagger.androidofferoneapproachtosimplifythispattern....Next,makeyourApplicationimplementHasDispatchingActivityInjectorand@InjectaDispatchingAndroidInjectortoreturnfromtheac
我在Dagger2中遇到与范围相关的错误,我正在尝试了解如何解决它。我有一个显示公司的CompaniesActivity。当用户选择一个项目时,所选公司的员工将显示在EmployeesActivity中。当用户选择一名员工时,她的详细信息显示在EmployeeDetailActivity中。classCompany{Listemployees;}CompaniesViewModel类包含公司和所选公司(或null):classCompaniesViewModel{Listcompanies;Companyselected;}CompaniesActivity引用了CompaniesVi
我正在尝试使用@ContributesAndroidInjector在我的Dagger模块中提供一个类,但我看到错误:[ClassName]不是框架类型。有谁知道“框架类型”是什么,在什么情况下类不是一个? 最佳答案 在我的例子中,错误发生在使用dagger2.20时。这个问题让我抓狂,所以我举了一个干净的例子,一切正常,直到我将版本升级到2.20。然后我得到了“不是框架类型”的错误。我将版本更改为2.19,一切又恢复正常了。 关于android-Dagger2-"isnotaframe
如果我将Activity定义为:@EActivity(R.layout.activity_login)publicclassLoginActivityextendsActivity这将为我创建onCreate()方法,但我有额外的初始化代码,我想在onCreate方法之后执行,我应该怎么做?我可以创建自己的onCreate方法并使用空的@EActivity,但是有更好的方法吗? 最佳答案 使用@AfterViews用于定义您自己的初始化代码的注释:@AfterViewsprotectedvoidinit(){//yourcustom