Android
2019-10-12
Ten materiał jest częścią kursu Dagger2 w Android
na platformie Udemy. Omawiam tam krok po kroku wprowadzenie oraz używanie biblioteki Dagger2 służącej do wstrzykiwania zależności.
Kilka darmowych odcinków można znaleźć tutaj:
Kurs Dagger2 w Android
Wstrzyknięcie pierwszych klas jest bardzo proste. Zwykle potrzebny jest nam tylko komponent oraz adnotacja @Inject.
Jeśli klasy nie implementują tych samych interfejsów to nawet nie dostrzeżemy, że taki problem może wystąpić.
Co jednak, kiedy chcielibyśmy doprowadzić np. różne Stringi?
Dość szybko można rozwiązać ten problem stosując wbudowaną adnotację @Named(_name_).
I tak długo jak będziemy w stanie opisać różne implementacje to użycie powyższej adnotacji może stanowić remedium na problem.
Trzeba tylko pamiętać, żeby po stronie wstrzykiwania także oznaczyć nasze implementacje.
Adnotacja @Named ma dwie główne wady:
I tak cała na biało wchodzi adnotacja @IntoSet. Pozwala ona stworzyć zbiór tych samych typów i później w kodzie określić, który potrzebujemy.
Po stronie aktywności deklarujemy to tak:
W zależności od tego czy użytkownik posiada dostęp do internetu, program wybiera odpowiednie źródło danych.
Te dwa rozwiązania powinny pomóc na większość sytuacji podczas programowania z Daggerem.
Do głowy przychodzi mi jeszcze adnotacja @Scope czyli nadawanie zakresów, ale jest to temat zdecydowanie na inny materiał 😉
Gdyby zainteresował Cię temat wstrzykiwania zależności to jeszcze raz zachęcam do sprawdzenia kursu 🤓. No daj znać innym 😎
Dziękuję Ci za przeczytanie tego materiału 😀 Jeżeli spodobało Ci się to o czym piszę, możesz sprawdzić więcej materiałów na blogu lub udostępnić znajomym. Będzie mi bardzo miło 😊
Jestem młodym programistą, który dumnie dzierży wiele pasji takich jak bieganie czy piwowarstwo domowe. Jedną z nich jest także programowanie i o tym właśnie zamierzam tutaj pisać.
Zachęcam Cię do odwiedzenia mojej strony na Google Play store i sprawdzenia wszystkich moich aplikacji.