android – Dagger 2如何执行构造函数注入

android – Dagger 2如何执行构造函数注入,第1张

概述我上课了 public class DialogUtils{ private Context context; @Inject public DialogUtils(Context context) { this.context = context; }} 在我的活动类中我已经做了但是我在dialogUtils实例上得到空指针异常. p 我上课了
public class DialogUtils{    private Context context;    @Inject    public DialogUtils(Context context)    {        this.context = context;    }}

在我的活动类中我已经做了但是我在dialogUtils实例上得到空指针异常.

public class LoginActivity extends Activity{@Inject DialogUtils dialogUtils;}

我知道如何通过模块和组件注入依赖,但不知道如何使用构造注入.任何帮助深表感谢.

解决方法 如果您没有保留活动级别组件,并且您没有使用组件依赖关系或子组件继承超级作用域(应用程序级组件),那么它是以下内容
// unscopedpublic class DialogUtils {    private final Context context;    @Inject    public DialogUtils(Context context) {        this.context = context;    }}

然后

@Modulepublic class ActivityModule {        private final Context context;    public ActivityModule (Context context) {        this.context = context;    }    @ProvIDes //scope is not necessary for parameters stored within the module    public Context context() {        return context;    }}@Component(modules={ActivityModule.class})@Singletonpublic interface ActivityComponent {    Context context();    DialogUtils dialogUtils();    voID inject(MainActivity mainActivity);}

然后

@InjectDialogUtils dialogUtils;...     ActivityComponent activityComponent = DaggerMainActivityComponent.builder()        .activityModule(new ActivityModule(MainActivity.this))        .build();    activityComponent.inject(this); // activityComponent.dialogUtils() also works
总结

以上是内存溢出为你收集整理的android – Dagger 2如何执行构造函数注入全部内容,希望文章能够帮你解决android – Dagger 2如何执行构造函数注入所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1136739.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存