Junior — Middle
Hogyan valósítsuk meg a Dagger-komponenst a projektben?
sobes.tech MI
Válasz az MI-től
A Dagger-komponens Android-projektben történő megvalósításához a következőkre van szükség:
-
Hozzon létre egy @Component annotációval ellátott interfészt. Ebben az interfészben deklarálják a függőségek biztosítására vagy a célosztályokba történő injektálására szolgáló módszereket.
-
Határozzon meg modulokat @Module annotációval, amelyek @Provides annotált módszereket tartalmaznak, és leírják, hogyan hozzuk létre a függőségeket.
-
A kódban inicializálja a komponenst, általában egy generált osztályon keresztül, például DaggerAppComponent.builder().build(), és használja fel a függőségek injektálására.
Példa:
@Component(modules = {NetworkModule.class})
public interface AppComponent {
void inject(MainActivity activity);
}
@Module
class NetworkModule {
@Provides
Retrofit provideRetrofit() {
return new Retrofit.Builder()
.baseUrl("https://api.example.com")
.build();
}
}
// A MainActivity-ben
public class MainActivity extends AppCompatActivity {
@Inject
Retrofit retrofit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DaggerAppComponent.create().inject(this);
// Most a retrofit elérhető a használatra
}
}