web-dev-qa-db-fra.com

Android et injection de dépendance

J'ai cherché en vain des informations sur l'utilisation d'un conteneur d'injection de dépendance dans le développement Android. Plus précisément, comment annuler la création d'une Activity d'une manière qui fonctionnera également lors du retour de l'assassinat (quelle qu'en soit la raison).

Quelqu'un at-il une expérience dans ce domaine?

36
Richard Szalay

Il semble que vous puissiez utiliser Google Guice 2.0 avec Android. Vous pourriez aussi regarder dans roboguice

Modifier:

Spring est également disponible pour Android

Edit: Roboguice est maintenant obsolète. Vous pouvez essayer cure-dents comme mentionné dans les commentaires du développeur derrière Toothpick.

25
Jay Askren

Vous pourriez aussi vouloir considérer Spring ME . Bien que prévu à l'origine pour Java ME, j'ai également vu des rapports d'utilisateurs l'utilisant pour Android. L'avantage serait que vous ayez un modèle de programmation familier (Spring) sans pénalité: Spring ME a une empreinte de 0k.

3
Wilfred Springer

Si vous avez l'habitude d'utiliser Spring dans d'autres projets, vous ne serez pas très heureux avec Spring pour Android (il ne s'agit que d'une bibliothèque REST avec le support Auth), Spring ME (flux de travail complètement différent et fonctionnalités réduites) ou Minuscule Spring (par exemple, uniquement Spring -like configuration).

Vous pouvez cependant essayer mon projet RoboSpring . De la description:

RoboSpring est un port (réel) du Spring Framework vers la plate-forme Android. En outre, il offre une prise en charge préliminaire des fonctionnalités introduites par RoboGuice, telles que l’injection de références de vue dans les activités, etc. RoboSpring est basé sur la version 3.1.0 RELEASE des composants centraux, beans, context et aop de Spring. Il offre les fonctionnalités suivantes:

  • Configurer les composants d'application avec un fichier de configuration Spring (XML)
  • Autowire vos composants Android avec des beans du contexte de l'application Spring.
  • Injectez le contexte de l'application Android dans vos beans Spring.
  • Injecter des vues dans les activités.
  • … et plus

https://github.com/dthommes/RoboSpring

1
Dr. Daniel Thommes

Il existe également un nouveau projet Spring pour Android: Tiny Spring . Il résout les bases de la configuration XML mais ne fait pas tout ce que Spring fait.

0
brian.hgt