如何使用 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 project(ctrl+f9快捷键).
完成重建项目后,您可以访问 DaggerMainComponent .
希望对你有帮助
在我的应用程序中我想使用 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 project(ctrl+f9快捷键).
完成重建项目后,您可以访问 DaggerMainComponent .
希望对你有帮助