草庐IT

injecting

全部标签

Android fragment 和依赖注入(inject)

正如标题所说,我正在尝试找出哪一个是在fragment中注入(inject)依赖项的最佳方式。我想独立于RoboGuice等外部框架。现在,以最简单的方式,我有一个抽象某种逻辑的接口(interface),并且我想从Activity注入(inject)该接口(interface)的实现。我知道我必须为我的fragment提供一个默认构造函数,因为系统可能需要在某个时候重新创建fragment,并且创建fragment的新实例的通常方法是提供处理创建的静态方法这个:publicstaticFragmentnewInstance(){finalBundlebundle=newBundle(

android - Dagger 2 : Error when two components has same inject method signature

我有这个组件:@Singleton@Component(modules=OauthModule.class)publicinterfaceOauthComponent{voidinject(LoginActivitya);}和模块:@ModulepublicclassOauthModule{@Provides@SingletonOauth2ServiceprovideOauth2Service(){returnnewOauth2StaticService();}}这是另一个组件:@Singleton@Component(modules=LoggedUserModule.class)pu

android - Dagger 在模块上找不到可注入(inject)成员

我正在使用Dagger用于在Android项目中进行依赖注入(inject),并且可以很好地编译和构建应用程序。对象图看起来是正确的并且可以工作,但是当我添加dagger-compiler作为依赖项以在编译时出错时,它会报告一些奇怪的错误:[ERROR]error:Nobindingforcom.squareup.tape.TaskQueuerequiredbycom.atami\.mgodroid.ui.NodeIndexListFragmentforcom.atami.mgodroid\.modules.OttoModule[ERROR]error:Nobindingforcom.

android - 如何使用 Koin DI 将应用程序上下文从 'app' 模块注入(inject)到 'network' 模块

我正在开发一个基于KoinDI(版本:1.0.1)的应用程序,有2个模块(:应用程序和:网络)。我在:network模块中要求有“上下文”。以下是我的实现方式:**Module**:valappModule=module{viewModel{LoginViewModel(get())}}**Activity**:privatevalviewModelbyviewModel()**ViewModel**:classLoginViewModel(valcontext:Context):ViewModel(){...//Send"context"tonetworkclassin:networ

android - 在 Android 上使用 Dagger 2 进行延迟注入(inject)

我是Dagger2的新手。我有这种情况,我不想在我的应用程序中注入(inject)对象(在演示者中,在api中)我最初没有办法提供它。它是在我的应用程序的某个阶段进行身份验证后才创建的。来自文档http://google.github.io/dagger/我看到延迟加载可能是解决这个问题的一种方法,例如@InjectLazylazyGrinder;然后使用以下方法获取这样的值:lazyGrinder.get().grind();我的问题是:在此之后我可以安全地将对象换成新对象吗?还有其他推荐的方法吗?谢谢 最佳答案 这不适合Lazy

android - Dagger 可以用来在 Content Provider 上执行注入(inject)吗?

我最近一直在将Dagger集成到一个使用ContentProviders的项目中。我在我的自定义应用程序对象中创建了一个ObjectGraph实例,基本上在每个托管组件中:Activity,fragment,服务...然后,我调用getApplication(),向下转换为我的自定义Application对象,并通过我的Application类中的一些自定义实现强制注入(inject)。这似乎是根据我在Square的人发布的示例执行注入(inject)的规定方法。此模式不适用于ContentProvider实例,因为它们的生命周期与Application对象的生命周期并不像可预测的那样

android - Butterknife fragment 注入(inject) View 不起作用?

谁能用以下代码解释为什么我的View元素(ListView)为null:publicclassNewsFragmentextendsFragment{@InjectView(R.id.news_listView)ListViewlv;@OverridepublicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){Viewview=inflater.inflate(R.layout.news_layout,container,false);ButterKnife.inj

android - Dagger 2 : Unable to inject dependencies in WorkManager

所以据我了解,Dagger还不支持在Worker中注入(inject)。但是正如人们所建议的那样,有一些解决方法。我已经尝试按照在线示例通过多种方式来做到这一点,但它们都不适合我。当我不尝试向Worker类中注入(inject)任何东西时,代码工作正常,只是我不能做我想做的事,因为我需要访问一些DAO和服务。如果我在这些依赖项上使用@Inject,则依赖项要么为null,要么worker永远不会启动,即调试器甚至不会进入Worker类。例如,我尝试这样做:@Component(modules={Module.class})publicinterfaceComponent{voidinj

安卓 Dagger 2 : Inject versus Provides

我对AndroidDagger2和@Inject和@Provide注释的使用有疑问。给出以下两个简化示例:publicclassA{Stringmsg;publicA(Stringmsg){this.msg=msg;}}publicclassB{publicAa;publicB(Aa){this.a=a;}}@ModulepublicclassAModule{@ProvidesAprovidesA(){returnnewA("blah");}@ProvidesBProvidesB(Aa){returnnewB(a);}}该示例非常简单,我的AModule中有两个方法,带有@Provid

android - 使用 Guice 将依赖项注入(inject) Android Activity 的构造函数

有人知道使用Guice将依赖项注入(inject)Android中Activity的构造函数的方法吗?看起来Activity通常只有默认构造函数,以便平台可以轻松创建新实例。虽然使用单例来引用注入(inject)器并获取依赖项很容易,但这种方式不太干净,并且引入了一些静态。有什么建议吗? 最佳答案 我不知道我怎么会错过这个!https://github.com/roboguice/roboguice 关于android-使用Guice将依赖项注入(inject)AndroidActivi