Dagger2教程三之构造方法带参数的情况(原)

        为了介绍Dagger2的使用,我们搭建了一个Demo来逐步分析,大家可以在这里 下载源码(https://github.com/dushaofeng/DaggerDemo.git)。
        前面一节 Dagger2教程二之基础使用篇介绍了Dagger2最简单的使用场景,但是在结尾我们遇到两个困难,即如何在不修改注入类代码的情况下实现注入?如何解决注入类构造方法需要参数的情况?
        比如我们有一个BeanNeedParam的对象,其 构造方法中需要传递一个String类型的变量用来初始化mName
        public class BeanNeedParam {
            private String mName = null;


            public BeanNeedParam(String name) {
                this.mName = name;
            }


            public String getName() {
                return mName;
            }
        }
        接下来我们介绍如何在不修改这个类的前提下,如何将其注入到Activity中。


一、有参数的注入类使用方式

        为了解决有参数的问题,我们需要对之前的结构进行两点改造,下面分别来进行。


1.1、改造Component

        首先我们来改造Component,我们依然使用上一篇中的demo,来将BeanComponent.java改造成如下方式:
        @Component(modules = BeanModule.class)
        public interface BeanComponent {
         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值