2017-07-19 1 views
1

Können Sie bitte einen Beispielcode angeben, um dieses Szenario mit Unterkomponenten zu erreichen. In MyActivity muss ich Abhängigkeiten von mehreren Komponenten erfüllen. Wie Sie in unten Code MyActivity Requies Injektion von compA via module classA und compB via module classB sehen können.Dolch 2 Wie injiziere ich eine Klasse mit Subkomponenten in mehrere Komponenten?

Ich habe viele verschiedene Dinge seit einiger Zeit versucht. Ich habe auch offizielle Dokumente zu Unterkomponenten gelesen, konnte aber nicht verstehen, wie ich mein Szenario umsetzen soll. Bitte helfen Sie

Antwort

2

Es gibt viele Möglichkeiten, dieses Zeug zu tun. Include-Module gehört dazu. Wir haben Module AndroidModules und NetworkModules.

@Module(includes = AndroidModules.class) 
public class NetworkModules { 
//Here two module are marge .... 
} 

jetzt in meiner Komponente

@Component(modules = NetworkModules.class) 
public interface NetworkComponent { 
    void inject(MyActivity activity); 
} 
+0

Danke für die Antwort. Gibt es eine Möglichkeit, wenn ich meine Komponenten oder Module unabhängig machen möchte? –

1

Man könnte es so versuchen,

@Component(
    modules = { 
     ApplicationModule.class, 
     MainModule.class 
    } 
) 
public interface compA 
{ 
void inject(MyActivity target); 
} 
+0

Danke. Zuvor habe ich das versucht, aber das Problem bei diesem Ansatz ist, dass es eine enge Kopplung erzeugt. Ich möchte meine Komponenten unabhängig machen. –

Verwandte Themen