草庐IT

dagger-compiler

全部标签

java - Dagger 2 - 构造函数注入(inject) - 作用域

我正在使用具有简单MVP模式的Dagger2。我有一个@PerApp和@PerActivity作用域。我正在使用构造函数注入(inject)来注入(inject)演示者依赖项,这使得这些演示者“可注入(inject)”(我不需要在Activity模块中编写提供方法)。代码fragment:每个应用://AppComponent@PerApp@Component(modules={AppModule.class,DataModule.class,NetworkModule.class})publicinterfaceAppComponent{LoginComponentplus(Logi

android studio 2.2如何在没有android-apt插件的情况下应用dagger2

我的项目build.gradlebuildscript{repositories{jcenter()}dependencies{classpath'com.android.tools.build:gradle:2.2.0-alpha3'classpath'com.google.dagger:dagger-compiler:2.2'classpath'com.google.guava:guava:19.0'//NOTE:Donotplaceyourapplicationdependencieshere;theybelong//intheindividualmodulebuild.grad

android - Invalid LOC header Maven compilation error for Android support-v4

我在maven构建我的pom.xml文件时遇到编译失败错误。编译错误为:读取C:\Users\amrit\.m2\repository\com\google\android\support-v4\r6\support-v4-r6.jar时出错;无效的LOCheader(错误的签名)。有谁知道如何解决这个问题?下面是我的pom.xml文件:4.0.0MyListReqMyListReq0.0.1-SNAPSHOTAtosListcom.google.androidandroid4.1.1.4providedcom.google.androidsupport-v4r6srcmaven-co

android - Android Studio 中的 "Failed to get the compiler information for file ..."

我在AndroidStudio中遇到了这个非常奇怪的错误消息。它显示在我通过Gradle使用ndk-build构建的native代码之上。断点和代码单步运行正常,但代码中充斥着“无法解析变量”等“错误”。这是它的外观示例:同样,所有代码都可以正确运行,就像IDE似乎无法解析一大堆类型一样。您可以在右侧看到一连串的错误。基本上每一行都被标记为错误,即使它们都编译得很好。不知道发生了什么! 最佳答案 我相信执行以下操作可以解决问题:手动删除目录build/intermediates/ndkBuild/debug/obj/local运行刷

android - Dagger 2.10/2.11 注入(inject) Activity 失败

我一直在尝试将Activity注入(inject)到ViewUtils类中,但没有成功。我关注了几篇不同的帖子,但我似乎无法理解我在实现过程中遗漏了什么。我知道这可能是下面帖子的重复,对此我深表歉意,但老实说,我看不出我错过了什么。这些是我找到的帖子:Dagger2.10AndroidsubcomponentsandbuildersHowtocreatecustomscopedmodulesindagger2.10https://google.github.io/dagger/subcomponents.html我的实现如下:应用组件@Component(modules={AppMod

android - 我们什么时候应该使用 android.arch.lifecycle :compiler (or android. arch.lifecycle :common-java8)?

目前,我们正在项目中使用LiveData、ViewModel和Room。我们正在使用Java8。我们在build.gradle中使用以下内容//ViewModelandLiveDataimplementation"android.arch.lifecycle:extensions:1.1.1"//Room(use1.1.0-beta1forlatestbeta)implementation"android.arch.persistence.room:runtime:1.0.0"annotationProcessor"android.arch.persistence.room:compi

android - 如何创建 ViewModel 并使用 dagger 2 向其注入(inject)存储库?

我尝试理解ViewModel。我创建ViewModel:publicclassUsersViewModelextendsViewModel{privatefinalUsersRepositoryusersRepository;publicUsersViewModel(UsersRepositoryusersRepository){this.usersRepository=usersRepository;}publicLiveData>loadAll(){returnusersRepository.getAll();}}但我不明白两件事:如何将UsersRepository注入(inje

android - 是否可以在 Android Studio 项目中集成 Dagger 和 AspectJ?

我在一个Android项目中工作,我在其中使用Dagger进行依赖项注入(inject)。我对Gradle了解不多,但据我了解,一旦项目构建完成,Dagger注释就会由其编译器处理。按照用户指南配置它没有问题。好吧,现在我也想集成AspectJ,所以我在看oneofthepluginsforAndroid。然而,这个插件似乎也做了一个构建后处理工作来读取方面,这仍然与Dagger编译器所做的冲突。这是我当前的build.gradle文件(构建了一个具有SSCCE的测试项目):applyplugin:'com.android.application'buildscript{reposit

java - 用 dagger 2 查看依赖注入(inject)

我有一个扩展TextView的自定义View。我应该在哪里调用我的组件来注入(inject)View?component.inject(customTextView); 最佳答案 所以,我发现我需要在自定义View的构造函数中添加注入(inject)(在所有View中,或者让一个调用另一个)例子:publicclassCustomTextViewextendsTextView{@InjectAnyProvideranyProvider;publicCustomTextView(Contextcontext){this(context

java - Dagger :类无法与键绑定(bind)

我是第一次尝试dagger,在配置模块后,我收到一个我不明白的错误。我的代码是:publicclassParrot{privateLanguagelanguage;@InjectpublicParrot(Languagelanguage){this.language=language;}publicvoidsayHello(){System.out.println(language.getSalute());}}publicinterfaceLanguage{publicStringgetSalute();}publicclassEnglishLanguageimplementsLan