Sobes.tech
Middle

Πώς πραγματοποιείται η εισαγωγή εξαρτήσεων σε ένα πεδίο με το Dagger Hilt;

sobes.tech AI

Απάντηση από AI

Η εισαγωγή εξαρτήσεων σε ένα πεδίο με τη χρήση του Dagger Hilt πραγματοποιείται με τη χρήση της σημείωσης @Inject πριν από τη δήλωση του πεδίου σε μια κλάση που έχει σημειωθεί με @AndroidEntryPoint.

import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject

@AndroidEntryPoint // Αυτή η κλάση θα ενταχθεί στην εφαρμογή
class MyActivity : AppCompatActivity() {

    @Inject // Εισάγουμε την εξάρτηση
    lateinit var myDependency: MyDependency

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // ...
        myDependency.doSomething()
    }
}

Η σημείωση @Inject υποδεικνύει στο Hilt ότι αυτό το πεδίο χρειάζεται μια εξάρτηση. Το Hilt θα βρει έναν κατάλληλο πάροχο (π.χ. ένα module Dagger) για τον τύπο MyDependency και θα παρέχει ένα στιγμιότυπο αυτού του τύπου σε αυτό το πεδίο κατά τη δημιουργία μιας στιγμιότυπου της MyActivity.

Είναι σημαντικό να θυμάστε ότι η κλάση MyActivity πρέπει να είναι σημειωμένη με @AndroidEntryPoint ώστε το Hilt να μπορεί να εντάξει εξαρτήσεις στα πεδία της. Επιπλέον, το πεδίο που θα ενταχθεί δεν μπορεί να είναι ιδιωτικό (private).