Paresseux d'Injection avec une Dague 2 sur Android

Je suis nouveau à la Dague 2. J'ai ce scénario, je wan pas à injecter un objet en travers de mon application (dans les présentateurs, l'api)

Je n'ai pas de moyen de fournir initialement. Il n'est pas créé jusqu'à après l'authentification à un certain stade dans mon application.

À partir de la documentation http://google.github.io/dagger/

Je vois le chargement Paresseux peut-être un moyen de résoudre cette adresse.g

@Inject 
Lazy<Grinder> lazyGrinder;

et ensuite obtenir la valeur comme ceci en utilisant:
lazyGrinder.get().grind();

Mes questions sont:

  • Je peux swap de l'objet après cette avec un nouveau?
  • Existe-il d'autres moyens recommandés pour ce faire?

Grâce

Qu'entendez-vous par remplacer?
je veux dire swap, question de mise à jour
J'ai utilisé Lazy<T> qu'une seule fois. Il m'a donné des blocages sur les start-up. Jamais encore. Je n'ai aucune idée de ce que j'ai fait de mal, par la manière. Personnellement, je voudrais juste créer un singleton Holder objet, comme dans GrinderHolder et quand vous l'avez (null contraire)
Poignard fournisseur de chargement paresseux, ce qui signifie que tant que vous n'utilisez pas cet objet, il ne serait pas initié.

OriginalL'auteur AndroidEnthusiast | 2015-12-02