在我的应用程序中,我想使用 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);
}
}
我该如何解决?请帮助我
答案 0 :(得分:2)
将您的依赖项代码更改为此:
annotationProcessor 'com.google.dagger:dagger-compiler:2.16'
implementation 'com.google.dagger:dagger:2.16'
首先添加此依赖项,然后单击创建项目( ctrl + f9 快捷方式)。
完成重建项目后,您可以访问 DaggerMainComponent 。
希望对您有帮助