Wpis z mikrobloga

#mobiledev #programowanie #androiddev

Mirki, ktoś kto programuje używając Dagger 2 na Androida, pytanie.

Interfejs oznaczony @Component buduje tzw Component. W nim należy zawrzeć metody

void inject(TYP instancja);

Niestety, z tego co widzę nie da się tego zrobić tak, by mieć klasę bazową i do tego jedną konfigurację w Component dla tej klasy bazowej, a potem każda subklasa byłaby z automatu obsługiwana czy się mylę?

Przykład:

public class BaseClass {}

public class SolidA extends BaseClass {...}
public class SolidB extends BaseClass {...}

I do tego wewnątrz Component:

void inject(BaseClass myInstance);

Jest jakiś sposób by to obejść, czy mam rację i dla każdego typu, do któego chcemy coś wstrzykiwać trzeba utworzyć metodę inject?
  • 2
@travikk: Szczerze to też właśnie nad tym siedzę i muszę przyznać, że strasznie to wszystko pokręcili w porównaniu do Daggera 1. Gdyby nie to, że w tej wersji usprawniono szybkość budowania grafu dawno dałbym sobie spokój i pozostał przy starym Daggerze.
Ja np. totalnie nie rozumiem jak działają @Scope i szukam rozwiązania jak łączyć komponenty.

Co do twojego przypadku to co Ci rzuca kompiler?