如何使用Dagger2库

时间:2019-02-11 10:51:33

标签: java android dagger-2 dagger

在我的应用程序中,我想使用 Dagger2 ,为此,我编写了以下代码。
我的组件类名称是 MainComponent ,但是在 rebuild 项目之后,当我想要使用它时,找不到我 DaggerMainComponent
我多次重建该项目,但是该项目再次无法正常工作!

我的Dagger依赖项:

implementation 'com.google.dagger:dagger-android:2.16'
annotationProcessor 'com.google.dagger:dagger-android-processor:2.16'

我的模块类:

@Module
public class ApiServiceModule {
    private Context context;

    public ApiServiceModule(Context context) {
        this.context = context;
    }

    @Provides
    public ApisList getApisList(Retrofit retrofit) {
        return retrofit.create(ApisList.class);
    }

    @Provides
    public Retrofit getRetrofit() {
        return new Retrofit.Builder()
                .baseUrl(Config.BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
    }
}

我的组件类:

@Component(modules = ApiServiceModule.class)
public interface MainComponent {
    ApisList getApisList();
}

我的mainActivity类:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


    }
}

我该如何解决?请帮助我

1 个答案:

答案 0 :(得分:2)

将您的依赖项代码更改为此:

annotationProcessor 'com.google.dagger:dagger-compiler:2.16'
implementation 'com.google.dagger:dagger:2.16'

首先添加此依赖项,然后单击创建项目 ctrl + f9 快捷方式)。
完成重建项目后,您可以访问 DaggerMainComponent

希望对您有帮助