Dagger 2 오류: "제공할 수 없음" 문제 해결
)문제 요약
Dagger 2는 컴파일할 때 다음 오류를 표시할 수 있습니다. 프로젝트:
error: com.example.MyDependency cannot be provided without an @Inject constructor or from an @Provides-annotated method.
이 오류는 Dagger에 지정된 종속성을 생성하거나 제공하는 데 필요한 정보가 부족함을 나타냅니다.
문제 이해
Dagger 주입해야 하는 객체를 제공하거나 생성하는 메커니즘이 필요합니다. 기본적으로 종속성은 @Inject 주석이 달린 생성자 또는 @Provides 주석이 달린 모듈의 메서드를 가질 것으로 예상합니다.
해결 방법
두 가지 주요 접근 방식이 있습니다. 이 문제 해결:
1. @Inject 주석 생성자 추가:
종속성 클래스의 생성자에 @Inject 주석을 추가합니다. 예를 들면 다음과 같습니다.
class MyDependency { @Inject MyDependency() { /**/ } }
2. 모듈에 @Provides 주석이 달린 메서드 생성:
모듈 클래스를 생성하고 @Provides 주석이 달린 메서드를 추가합니다. 이 메서드는 원하는 종속성을 생성하거나 바인딩합니다. 예:
@Module class MyModule { @Provides MyDependency provideMyDependency() { return new MyDependency(); } }
추가 고려 사항
위 내용은 Dagger 2 오류: '제공할 수 없음'을 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!