it-swarm.com.de

Android und Abhängigkeitsinjektion

Ich habe mich vergeblich nach Informationen über die Verwendung eines Abhängigkeitsinjektionscontainers in der Android-Entwicklung umgesehen. Insbesondere, wie Sie die Erstellung einer Activity auf eine Weise überschreiben können, die auch funktioniert, wenn Sie (aus welchem ​​Grund auch immer) vom Töten zurückkommen.

Hat jemand Erfahrung auf diesem Gebiet?

36
Richard Szalay

Es scheint, dass Sie Google Guice 2.0 mit Android verwenden können. Sie könnten auch in roboguice schauen. 

Bearbeiten:

Der Frühling ist jetzt auch für Android

Edit: Roboguice ist nun veraltet. Sie könnten Toothpick versuchen, wie in den Kommentaren des Entwicklers hinter Toothpick erwähnt.

25
Jay Askren

Vielleicht möchten Sie auch Spring ME betrachten. Obwohl ursprünglich für Java ME gedacht, habe ich Berichte von Leuten gesehen, die es auch für Android verwenden. Der Vorteil wäre, dass Sie ein bekanntes Programmiermodell (Spring) ohne Strafe haben: Spring ME hat einen Footprint von 0k.

3

Wenn Sie Spring in anderen Projekten verwenden, werden Sie mit Spring für Android nicht sehr zufrieden sein (es handelt sich nur um eine REST-Bibliothek mit Auth-Unterstützung), Spring ME ( ganz anderer Workflow und reduziertes Featureset) oder Tiny Spring (zB nur Spring -like configuration).

Sie könnten mein Projekt RoboSpring jedoch einmal ausprobieren. Aus der Beschreibung:

RoboSpring ist eine (echte) Portierung des Spring Frameworks für die Android-Plattform. Darüber hinaus bietet es eine vorläufige Unterstützung für die von RoboGuice eingeführten Funktionen, z. B. das Einfügen von View-Referenzen in Aktivitäten und mehr. RoboSpring basiert auf der Version 3.1.0 RELEASE der Kern-, Beans-, Kontext- und Aop-Komponenten von Spring. Es bietet folgende Funktionen:

  • Anwendungskomponenten mit einer Spring-Konfigurationsdatei konfigurieren (XML)
  • Automatisieren Sie Ihre Android-Komponenten mit Beans aus dem Spring-Anwendungskontext.
  • Spritzen Sie den Android-Anwendungskontext in Ihre Spring Beans.
  • Ansichten in Aktivitäten injizieren.
  • … und mehr

https://github.com/dthommes/RoboSpring

1

Es gibt auch ein neues Frühlingsprojekt für Android: Tiny Spring . Es löst die Grundlagen der XML-Konfiguration, erledigt aber nicht alles, was Spring tut.

0
brian.hgt