如何为工人阶级实施Dagger?

迈赫迪·贾希德·曼尼什(Mehdi Jahed Manesh)

由于Worker该类是由框架(WorkerManager创建的,因此如何在@Inject字段中使用Worker

Anisuzzaman Babla

您必须@Provides在模块中使用注解来提供类

首先创建一个包含提供类的模块的组件。

@Component(modules = {Module.class})
public interface Component1{

    void inject(SyncWorker syncWorker);
}

模块类别

@Module
public class Module{

    @Provides
    public ISettingRepository getSettingRepo(){
        return new ISettingRepository();
    }

}

现在,在您的代码中编写一个构造函数,该构造函数用于将组件注入到您的worker类中。

public class SyncWorker extends  Worker {

    @Inject
    ISettingRepository settingRepository;

    public SyncWorker(){
        DaggerComponent1.builder().build().inject();
    }

    @NonNull
    @Override
    public Result doWork() {

        sync();
        return Result.SUCCESS;
    }

    private void sync() {

    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章