Sono nuovo al pugnale (anche se ho esperienza con DI dal lavorare su Java EE WebApp usando Weld).Iniezione Dipendenza Dagger Android non riesce su campi privati
Quello che sto cercando di fare è iniettare una dipendenza in una classe. Il campo è privato.
Il pugnale lancia quindi un'eccezione affermando che non può essere iniettata in un campo privato.
Qual è il motivo?
Dopo tutto è possibile scrivere ai campi privati utilizzando riflessioni, anche su Android ..
Se ho impostato la visibilità del campo a qualcosa di diverso da privati l'iniezione sembra funzionare.
Bello, grazie per l'input. Costruttore Injection è qualcosa a cui sono abituato lavorando con CDI .. –
Questo funziona per i tipi costruibili, ma i tipi di SO Android come Activity, Application, Fragment non sono progettati per essere costruiti da altro che dal framework Android, quindi l'iniezione di campo è ancora necessario in questi casi. Ma questo è un buon consiglio in cui hai il controllo sul costruttore. –