J'utilise une file d'attente de travaux prioritaires dans un projet qui utilise les concepts d'architecture propre. La chose est: faire DI avec file d'attente prioritaire, je dois créer un travail de BaseJob comme ceci:Injection de dépendances avec file d'attente de travaux prioritaires dans une architecture propre
abstract public class BaseJob extends Job {
@Retention(RetentionPolicy.SOURCE)
@IntDef({UI_HIGH, BACKGROUND})
public @interface Priority {
}
public static final int UI_HIGH = 10;
public static final int BACKGROUND = 1;
public BaseJob(Params params) {
super(params);
}
protected boolean shouldRetry(Throwable throwable) {
return true;
}
public void inject(ApplicationComponent appComponent) {
}
Le problème est que dans les lignes:
public void inject(ApplicationComponent appComponent) {
}
je besoin d'accéder ApplicationComponent qui est dans la couche de présentation, mais comme mon BaseJob est dans la couche de données, je n'y ai pas accès.
Si je fais connaître à la couche de données de la présentation je vais casser les principes de l'architecture propre.
Est-ce que quelqu'un a une idée de comment je pourrais faire ça?
Que faites-vous avec cette appComponent? –
À la suite de cet exemple: [link] (https://github.com/yigit/dev-summit-architecture-demo/blob/master/client/app/src/main/java/com/android/example/devsummit/archdemo /di/module/ApplicationModule.java). Je l'utilise pour injecter des dépendances dans mon travail. Je n'ai pas pu placer de code ici, donc c'est dans la ligne 111 – user2601142