草庐IT

android - 更新到 Kotlin 1.3.30 会破坏 Dagger 2.21 的构建

从Kotling1.3.21更新到1.3.30后生成错误:AppComponent.java:16:error:[Dagger/MissingBinding]java.util.Map,javax.inject.Provider>cannotbeprovidedwithoutan@Provides-annotatedmethod.在对Kotlin、Dagger和Architecture组件具有相似依赖关系的两个不同项目中重现。我怀疑它与kotlin1.3.30中最近的kapt更新有某种关系:https://blog.jetbrains.com/kotlin/2019/04/kotlin

android - 更新到 Kotlin 1.3.30 会破坏 Dagger 2.21 的构建

从Kotling1.3.21更新到1.3.30后生成错误:AppComponent.java:16:error:[Dagger/MissingBinding]java.util.Map,javax.inject.Provider>cannotbeprovidedwithoutan@Provides-annotatedmethod.在对Kotlin、Dagger和Architecture组件具有相似依赖关系的两个不同项目中重现。我怀疑它与kotlin1.3.30中最近的kapt更新有某种关系:https://blog.jetbrains.com/kotlin/2019/04/kotlin

android - Dagger 2 与 Kotlin 的多重绑定(bind)

我的dagger2模块中有以下代码段@Singleton@Provides@ElementsIntoSetfunprovidesQueries(foo:Foo):Set{valqueries=LinkedHashSet()queries.add(foo)returnqueries}我尝试用这种方式注入(inject)@Injectlateinitvarfoo:Set但是dagger显示一个错误,说Dagger不能在没有@Provides或@Produces方法的情况下提供java.util.Set。我在java中也做了同样的事情,而且效果很好。有人知道为什么会失败吗?

android - Dagger 2 与 Kotlin 的多重绑定(bind)

我的dagger2模块中有以下代码段@Singleton@Provides@ElementsIntoSetfunprovidesQueries(foo:Foo):Set{valqueries=LinkedHashSet()queries.add(foo)returnqueries}我尝试用这种方式注入(inject)@Injectlateinitvarfoo:Set但是dagger显示一个错误,说Dagger不能在没有@Provides或@Produces方法的情况下提供java.util.Set。我在java中也做了同样的事情,而且效果很好。有人知道为什么会失败吗?

android - Kotlin 错误 : Dagger does not support injection into private fields

我在kotlinActivityViewPager中使用,我希望在KotlinFragment中使用Dagger注入(inject)。我有错误:Dagger不支持注入(inject)私有(private)字段。在JavaFragment中,Dagger注入(inject)工作。为什么我不能在kotlinfaragment中注入(inject)dagger?在我的kotlinActivity中mPagerAdapter=object:FragmentPagerAdapter(supportFragmentManager){privatevalmFragments=arrayOf(Kotl

android - Kotlin 错误 : Dagger does not support injection into private fields

我在kotlinActivityViewPager中使用,我希望在KotlinFragment中使用Dagger注入(inject)。我有错误:Dagger不支持注入(inject)私有(private)字段。在JavaFragment中,Dagger注入(inject)工作。为什么我不能在kotlinfaragment中注入(inject)dagger?在我的kotlinActivity中mPagerAdapter=object:FragmentPagerAdapter(supportFragmentManager){privatevalmFragments=arrayOf(Kotl

android - Android 内存指南中的 "Avoid dependency injection frameworks"是否也适用于 Dagger?

所以我在有关内存性能的Android文章中看到了这个最佳实践。http://developer.android.com/training/articles/memory.html他们说AvoiddependencyinjectionframeworksUsingadependencyinjectionframeworksuchasGuiceorRoboGuicemaybeattractivebecausetheycansimplifythecodeyouwriteandprovideanadaptiveenvironmentthat'susefulfortestingandotherc

android - Android 内存指南中的 "Avoid dependency injection frameworks"是否也适用于 Dagger?

所以我在有关内存性能的Android文章中看到了这个最佳实践。http://developer.android.com/training/articles/memory.html他们说AvoiddependencyinjectionframeworksUsingadependencyinjectionframeworksuchasGuiceorRoboGuicemaybeattractivebecausetheycansimplifythecodeyouwriteandprovideanadaptiveenvironmentthat'susefulfortestingandotherc

java - Dagger 2 单例组件依赖于单例

我在这里遇到了一个奇怪的问题,我不太确定为什么不允许我正在做的事情。我有以下模块:@ModulepublicfinalclassAppModule{privateContextmContext;@Provides@Singleton@AppContextpublicContextprovideContext(){returnmContext;}}@ModulepublicfinalclassNetModule{@Provides@SingletonpublicOkHttpClientprovideOkHttp(){returnnewOkHttpClient.Builder().buil

java - 从 Android 应用程序类刷新 Dagger 2 实例

我的模块类中有一组@Singleton和@Provides方法,用于在整个应用程序中创建Singleton实例。一切正常,除了少数瓶颈情况,如下所示:第1步。我正在从OKHttpClient创建一个带有Authtoken的Retrofit实例,以便每次都进行经过身份验证的api调用(Authtoken检索和插入是通过SharedPreferences).但是,当我通过清除数据库和共享首选项值注销应用程序后重新启动Activity时,问题就开始了。第2步。注销后,我发出另一个请求以获取身份验证token并再次插入SharedPreferences以供将来使用。第3步:现在,如果我继续其余