Android

Dependency Injection mit RoboGuice 2 auf dem Android

 

In der Java Welt bin ich seit einiger Zeit verwöhnt von der Dependency Injection (DI). Daher möchte ich dieses Konzept auch auf dem Android anwenden können und habe mich auf die Suche nach einem entsprechenden Framework gemacht. Ich wurde auch schnell mit RoboGuice fündig. Im folgenden möchte ich einmal die wenigen Schritte aufzeigen, wie RoboGuice in einer Android App benutzt werden kann.

  1. RoboGuice 2 und Guice 2.0 herunterladen (Downloadguice-2.0-no_aop.jar)
  2. Erstelle in deiner Android App ein libs Verzeichnis und kopiere die beiden JARs dort hinein. Anschließend füge sie als External JARs dem Build Path hinzu.
  3. Öffne die Android Activity Klasse, in der du DI nutzen möchtest und erbe von RoboActivity anstatt von Activity.
  4. That’s it!

Mehr Schritte sind nicht notwendig um Dependency Injection in einer Activity nutzen zu können. Ab jetzt kann man z.B. eine TextView injecten:

 

Android

Erste Schritte zur eigenen Android App

 

Ich möchte heute eine kleine “Hello World” App für mein Android Handy entwickeln, um zu erfahren wie viel Aufwand es ist seine eigene App zu bauen.

Eclipse und SDKs installieren

Entwickeln möchte ich sie mit Eclipse unter Windows, da ich diese Konfiguration auch für meine anderen Java Projekte nutze.

  1. Android SDK intallieren (Ich habe den Windows Installer benutzt)
    Es wird geprüft ob bereits eine Java JDK  installiert ist. Das war bei mir der Fall.
  2. ADT Plugin für Eclipse installieren. Dafür benutzt man “Install new Software…” und trägt dort folgende URL ein:
    https://dl-ssl.google.com/android/eclipse/
  3. Eine sogenannte AVD im Android SDK erstellen. Dies ist ein Android Virtual Device zum Testen der App auf dem Rechner in einem Emulator.
    AVD Manager -> New… (Hier habe ich die Version 2.1 als Betriebsystem ausgewählt, da es die meisten Handys abdeckt, wie auch mein Motorola Milestone)

Android Projekt anlegen

Nun sind die Grundvoraussetzungen zum Programmieren der ersten eigenen App geschaffen. Das ging schon mal sehr einfach und schnell. Als nächsten habe ich mein erstes Android Projekt angelegt:

  1. In Eclipse ein neues “Android Projekt” erstellen.
    In meinem Fall habe ich das Projekt HelloAndroid getauft und auch hier die Zielplattform 2.1 ausgewählt. Zudem habe ich mir gleich eine Activity “HelloAndroidActivity” erstellen lassen.
  2. Nachdem der Wizard das Projekt erstellt hat, kann ich es kaum erwarten die App im Emulator zu starten. (Debug as Android Application)
    Der Android Emulator ist hochgefahren und meine erste App wird gestartet. Ohne eine Zeile Code geschrieben zu haben steht dort “Hello World, HelloAndroidActivity!”

Android App ändern

Im nächsten Schritt möchte eine kleine Änderung einbauen, bevor ich es auf meinem Android Handy deployen werde. Um erstmal nicht groß in die Tiefen der Android Architektur einsteigen zu müssen, werde ich nur den ausgegebenen Text ändern und einen weiteren einfügen.

  1. Für die angezeigten Texte gibt es eine Resource Datei (res/values/strings.xml). Diese Datei wird beim Öffnen im Android Resource Editor bearbeitet. Hier ist es einfach bestehnde Resourcen wie “hello” zu bearbeiten und eigene String Resourcen hinzuzufügen. Ich bearbeite “hello” und füge noch eine weitere “hallo” hinzu.
  2. Als nächstes möchte ich jetzt auch meinen hinzugefügten “hallo” String in der App anzeigen. Dafür öffnet man die  Layout Datei (res/layout/main.xml). Hier wird beim öffnen zunächst ein schöner UI Editor angezeigt. Ich wechsle aber auf die Source Ansicht und sehe nun das nackte XML Gerüst, welches das Layout und die Elemente beschreibt. Dieses erweitere ich um ein weiteres TextView Element.

Wenn ich nun die App im Emulator starte sehe ich meine gewünschte neue Ausgabe.

Debuggen auf dem Android Handy

Als finalen Schritt der ersten eigenen App möchte ich die Anwendung auch auf meinem Handy sehen:

  1. Im Android Handy unter Einstellungen -> Anwendungen -> Entwicklung den Debug Modus aktivieren. Danach das Handy per USB Kabel mit dem Rechner verbinden. Daraufhin werdet ihr aufgefordert den ADB Treiber zu installieren. Hier gibt es eine Auflistung aller Hersteller und deren ADB Treiber
  2. Wenn das Handy mit dem PC verbunden ist und die Treiber installiert sind wird automatisch das Handy zum Ausführen der App genutzt.

In wenigen Minuten kann man seine erste eigene App für Android entwickeln und auf seinen eigenen Handy starten. Damit kann das Entwickeln los gehen. Für weitere Informationen ein etwas ausführlicheres Hello World Tutorial.