Bentornati.
In questo video impareremo a conoscere l'iniezione di metodi.
L'iniezione di metodi è un tipo di iniezione di dipendenze in cui le dipendenze vengono iniettate in un metodo.
Questo è particolarmente utile quando una dipendenza è richiesta
solo temporaneamente e non deve essere memorizzata nella classe.
La dipendenza deve essere iniettata durante l'esecuzione del metodo.
Nel metodo dagger, l'iniezione funziona annotando un metodo con l'annotazione inject.
Dagger chiamerà questo metodo dopo che la classe è
stata costruita e vi inietterà le dipendenze necessarie.
Facciamo un salto in Android Studio e capiamo l'iniezione di metodo usando lo stesso esempio dell'auto e
del motore qui all'interno della classe motore, non dobbiamo fare alcuna modifica perché è la dipendenza.
Passiamo alla macchina.
La classe di auto nell'iniezione precedente.
Iniezione sul campo.
Qui abbiamo annotato la proprietà del motore come inject.
Ora sostituirò l'iniezione di campo con l'iniezione di metodo.
Manterrò la proprietà del motore.
E qui creerò un nuovo metodo chiamato install engine.
Inserisce nei parametri un'istanza del motore.
Questo motore equivale a questo motore o a quello passato.
Ora, per usare l'iniezione del metodo, dobbiamo annotare questo metodo con l'annotazione inject e
rimuovere inject dalla proprietà engine, che inietterà l'istanza del motore in questo metodo.
In parole povere, dagger o hilt chiameranno questo metodo install engine e inietteranno l'istanza
del motore richiesta durante il processo di dependency injection a livello di modulo dell'applicazione.
Nessuna modifica a livello di componente dell'applicazione.
Nessuna modifica, perché la funzione inject specifica che la classe
auto riceverà le sue dipendenze tramite iniezione di metodi.
In questo caso, passare al file principale, il componente dell'applicazione.
Lo stesso recupero dell'istanza dell'auto e anche altri codici sono gli stessi.
Eseguiamo la nostra applicazione ed eccoci qui.
Il motore si è avviato.
In questo esempio abbiamo lavorato con l'iniezione di metodi.
Anche in questo caso si apportano alcune modifiche ogni volta che è necessario utilizzare l'iniezione di metodi nella classe dipendente.
Quindi l'auto ha un motore di istanza.
Inoltre, al suo interno abbiamo creato una nuova funzione contrassegnata come annotazione inject.
Inoltre abbiamo iniettato il motore all'interno dei parametri e pugnale
o elsa inietteranno l'istanza del motore in questo metodo.
Quindi, ogni volta che l'annotazione inject viene usata con il campo o il metodo o
il costruttore hilt inietterà l'istanza del motore nella proprietà, nel metodo o nel costruttore corrispondenti.
Ecco come lavorare con l'iniezione di metodi.