如何使用 Dagger2 库

How to use Dagger2 library

在我的应用程序中我想使用 Dagger2 为此我写了下面的代码。
我的组件 class 名称是 MainComponent 但是在 rebuild 项目之后当我想使用它时,找不到我 DaggerMainComponent!
重建项目好几次了,但是还是不行!

我的 Dagger 依赖项:

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

我的模块class:

@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();
    }
}

我的组件 class :

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

我的主要活动class:

public class MainActivity extends AppCompatActivity {

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


    }
}

我该如何解决?请帮助我

将您的依赖代码更改为:

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

首先添加这个依赖然后点击Make projectctrl+f9快捷键).
完成重建项目后,您可以访问 DaggerMainComponent .

希望对你有帮助