草庐IT

dagger-compiler

全部标签

java - 应用程序组件上的 Dagger 2 实例化

我有一个关于dagger2的问题,如果我为@Singleton提供ApplicationComponent但不在某些类中使用@Inject实例化对象。对象是被实例化还是在某个类中为@Inject时被实例化?例如,在下面的代码中,测试是否在main2上实例化?@SingletonpublicclassTest{@InjectpublicTest(){}}publicclassmain(){@InjectTesttest;publicvoidstart(){DaggerComponent.create().inject(this);}}publicclassmain2(){publicvo

android - Dagger 2,在模块中提供应用上下文

我在Android开发方面很新,在DI方面较新。我在一个个人项目上使用Kotlin,我正在试验Dagger2。我设法为一个util类设置了它,但是我需要有一个上下文来使用它来注入(inject)一个需要上下文的类(一个sharedpref管理器类),我失败了。这是我的代码,这是我收到的错误(NPE)。提前谢谢你。我的模块类packagecom.android.pineimportandroid.content.Contextimportcom.android.pine.utils.SharedPreferencesManagerimportdagger.Moduleimportdagg

android - 为什么将 Dagger 与 Android 架构组件一起使用

我已经错过了大约一年的Android开发,男孩,有一大块东西需要咀嚼:Kotlin、LifeCycle、Room、ViewModel、Dagger等等。我正在努力了解新的MVVM推荐模式,虽然看到一些更“标准化”的东西真的很棒,但有些事情还不清楚。为了简单起见,让我们来一个简短的示例。首先,创建实体@Entity(tableName="user_table")publicclassUser{@PrimaryKey@NonNull@ColumnInfo(name="name")//vars,getters,setters}然后创建DAO@DaopublicinterfaceUserDao

android - ics-openvpn : how to compile on windows machine

我在这里获得最新的源代码:ics-openvpn我想在windows环境下编译它。正如在README.txt中所说:Docdmain;./misc/build-native.(sh|bat)intherootdirectoryoftheproject.Afterthatbuildtheprojectusing"gradlebuild"(OruseAndroidStudio).TheprojectisconvertedtogradleandbuildingwithEclipseisnolongersupported.但是文件build-native.bat的内容是:@echoonecho

java - 使用 Dagger 将场注入(inject)模块

我正在尝试将我的android上下文从一个模块注入(inject)到另一个模块。到目前为止,这是我的代码:UserProfileModule.java@Module(library=true)publicclassUserProfileModule{@InjectContext_context;@ProvidespublicAccountUtils.UserProfileprovideUserProfile(){returnAccountUtils.getUserProfile(_context);}}根模块.java@Module(injects={PizzaApplication.

android - Dagger 2 : Inject object loaded from database

我正在开发一个Android应用程序并使用Dagger2将一些对象作为单例注入(inject)到我的Activity/fragment中。一些对象是从数据库加载的。那么是不是可以在后台加载数据库对象,有空就注入(inject)呢?还是在dagger初始化单例的时候直接加载就没问题了?或者我可以传递对Activity/fragment的引用并在那里加载对象。您是如何解决这个问题的? 最佳答案 这是一个有趣的问题,因为它触及了我认为许多开始使用依赖注入(inject)(DI)的人将面临的第一个问题:我应该注入(inject)什么类型的对

android - 使用 Jack 工具链构建 Android 应用程序时出现 "Cannot test obfuscated variants when compiling with jack"错误

我正尝试按照本文https://developer.android.com/preview/j8-jack.html中的步骤在我的Android项目中启用Jack工具链但只要我添加android{defaultConfig{jackOptions{enabledtrue}}}然后运行​​gradleclean,我立即收到此错误:Cannottestobfuscatedvariantswhencompilingwithjack我用一个非常简单的Android项目尝试了它,但我仍然遇到同样的错误。这是一个示例gradle.build文件:applyplugin:'com.android.a

android - Dagger 2 组件链依赖

我有3个组成部分:主要应用组件:@Singleton@Component(modules={AppModule.class,UserModule.class,DatabaseModule.class})publicinterfaceAppComponent{ContextgetContext();DatabaseHelpergetDatabaseHelper();UserManagergetUserManager();}存储库组件:@DataScope@Component(dependencies=AppComponent.class,modules=CategoryRepositor

android - 未找到 Dagger 测试组件

我创建了以下测试类。问题是未找到DaggerTestDiComponent-尽管我可以在构建目录中看到它。我查看了类似的SO问题,但它们似乎与旧版本的gradle/Dagger2有关,并且似乎不适用(至少从我所见)。我的应用Dagger代码运行正常。publicclassTestMvpEngineeringPresenter{@MockIMvpEngineeringViewiMvpEngineeringView;@InjectMvpEngineeringPresentermvpEngineeringPresenter;@RulepublicMockitoRulemockitoRule=

Android 库、Kotlin 和 Dagger2

我正在构建一个包含两个模块的应用程序:核心模块,即Android库(com.android.library)和应用程序模块(com.android.application)。在我将Java文件转换为Kotlin后,项目没有编译,给我一个错误,说找不到生成的Dagger2文件(Unresolvedreference)。但是当前正在生成的那些文件:...core\build\generated\source\kapt\release{my\core\namespace}\DaggerBaseComponent.java我缺少什么?build.gradle(核心模块)applyplugin: