Programmier Tutorial - Apps für Android entwickeln -Hintergrund - Daten online abfragen in Android

Programmier Tutorial: Apps für Android entwickeln – Teil 8: Daten von einer Webseite abfragen in Android

prog Allgemein 1 Comment

Im achten Teil unseres großen Android™ Tutorials werden wir unsere App mit dem Internet verbinden.

Über die Internetverbindung fragen wir online Wetterdaten bei www.openweathermap.org ab und speichern die erhaltenen Daten in einem String. Den Inhalt des Strings geben wir als Log-Meldung zur Kontrolle aus. Später werden wir Teile des Inhalts in der App anzeigen.

Die Abfrage über das Internet muss in einem asynchronen Task ausgeführt werden, dies wird von Android so verlangt. Daher haben wir in dem vorherigen Tutorial-Teil den asynchronen Task HoleWetterdatenTask implementiert. Er ist unser Hintergrund-Thread, der das HTTP-Request durchführt.

Bevor aber von unserer App aus auf das Internet zugegriffen werden kann, müssen wir von Android bzw. dem Benutzer die Erlaubnis für den Zugriff einholen. Dieser Schritt ist sehr einfach und erfordert nur eine kleine Änderung in der AndroidManifest.xml Datei.

Unser Vorgehen in diesem Teil des Android Tutorials wird wie folgt sein:

  1. Vorstellen von www.openweathermap.org und der Wetterdaten API
  2. Erlaubnis für den Internetzugriff in Android einholen
  3. Online Anfrage nach den Wetterdaten in dem asynchronen Task HoleWetterdatenTask
  4. Testen unserer Android App und Kontrollieren des Wetterdaten-Strings in der Log-Meldung

Nun wünschen wir euch viel Spaß bei dem achten Teil unseres großen Android Tutorials. Los geht’s!

Read More

Programmier Tutorial - Apps für Android entwickeln -Hintergrund-Thread in Android mit AsyncTask

Programmier Tutorial: Apps für Android entwickeln – Teil 7: Hintergrund-Thread in Android mit AsyncTask

prog Android 2 Comments

Im siebten Teil unseres großen Android™ Tutorials werden wir einen asynchronen Task in unsere App integrieren und mit diesem eine Hintergrundberechnung durchführen.

Später wird dieser AsyncTask die Online-Wetterdaten abfragen und in ein, für unsere Android Anwendung, nutzbares Format umwandeln.

Die Abfrage von Online-Daten muss in Android immer in einem Nebenthread erfolgen, da die Bedienbarkeit der Anwendung stets gewährleistet sein muss.

Würde bspw. eine längere Berechnung im Hauptthread ausgeführt werden, wäre dadurch die App nicht mehr in der Lage auf Benutzereingaben zu reagieren. Dies kann sogar zu einer Application not responding-Meldung führen.

Daher ist es notwendig in unsere Android App einen Nebenthread einzufügen. Dies muss nicht zwangsläufig mit Hilfe der Klasse AsyncTask erfolgen. Android stellt für solche Bedürfnisse auch andere Werkzeuge zur Verfügung.


In unserer jetzigen App-Entwicklungsstufe ist das Erzeugen eines Nebenthreads mittels AsyncTask jedoch eine hervorragende Wahl.

Nun wünschen wir euch viel Spaß bei dem siebten Teil unseres großen Android Tutorials. Los geht’s!

Read More

Programmier Tutorial - Apps für Android entwickeln - Option Menu und Action Bar in Android

Programmier Tutorial: Apps für Android entwickeln – Teil 6: Options Menu und Action Bar in Android

prog Android 3 Comments

Im sechsten Teil unseres großen Android™ Tutorials werden wir das Options Menu von Android vorstellen und einen Menüeintrag in die Android Action Bar einfügen.

Der Eintrag wird anklickbar sein und uns eine kleine Meldung (Toast) auf dem Display ausgeben. Wir werden den Button später nutzen, um echte Wetterdaten online abzufragen.

Um in unsere Android App einen neuen Menüeintrag einzufügen, müssen wir als ersten Schritt eine XML-Layout Datei für das Menü erstellen. In dieser XML Datei wird das neue Menüelement definiert.

Anschließend wird dem Menüelement (Menu Item) eine Bezeichnung zugewiesen. Dazu wird die string.xml Datei von uns entsprechend angepasst.

Damit unser Menüeintrag auch in unserer Android Anwendung angezeigt wird, muss das neue Menü in dem Fragment bekanntgegeben werden. Dazu werden wir die Datei VorhersageFragment.java um die Methoden onCreate, onCreateOptionsMenu und onOptionsItemSelected erweitern.

Nun wünschen wir euch viel Spaß bei dem sechsten Teil unseres großen Android Tutorials. Los geht’s!

Read More

Programmier Tutorial - Apps für Android entwickeln - Refactoring und Logging in Android Studio

Programmier Tutorial: Apps für Android entwickeln – Teil 5: Refactoring und Logging in Android Studio

prog Android 3 Comments

Im fünften Teil unseres großen Android™ Tutorials werden wir den Projektordner unserer Android App etwas aufräumen.

Dazu verwenden wir das Refactoring-Werkzeug von Android Studio. Weiterhin werden wir das Logging System von Android vorstellen und die sechs Logging-Level näher beleuchten.

Unsere Android App kann in der momentanen Entwicklungsstufe einen scrollbaren ListView, der mit Beispielwetterdaten gefüllt ist, darstellen. Später wird unsere Anwendung in der Lage sein echte Wetterdaten von http://openweathermap.org anstelle der Beispieldaten anzuzeigen.

Doch zunächst möchten wir unser Android Projekt etwas aufräumen und den Quellcode der Hauptklasse MainActivity reduzieren, indem wir Teile davon in einer neuen Klasse auslagern.


Nachdem wir unser Android Projekt neu strukturiert haben, werden wir einen genaueren Blick auf Logging in Android werfen. Für die Entwicklung von Android Anwendungen ist das Ausgeben von Status- und Fehlermeldungen unverzichtbar. Daher werden wir Logging Meldungen beispielhaft in unsere App einfügen.

Read More

Programmier Tutorial - Apps für Android entwickeln - Daten mit einem ListView anzeigen

Programmier Tutorial: Apps für Android entwickeln – Teil 4: Daten mit einem Listview anzeigen

prog Android 3 Comments

Im vierten Teil unseres großen Android™ Tutorials werden wir unsere eigene Android App um einen Listview erweitern.

Wir werden unsere Testdaten (mock data) in einer ArrayList speichern und diese Liste auf dem Android Gerät (Samsung Galaxy S4 mini Smartphone) mit Hilfe der Listview-Klasse anzeigen lassen.

Mit einem Listview lassen sich große und komplexe Listen sehr effizient und benutzerfreundlich darstellen. Die Listen sind scrollbar und registrieren Benutzereingaben.

Wir zeigen in diesem Tutorial wie ein Listview richtig eingesetzt wird und worauf ihr dabei besonders achten müsst.

Dazu werden wir die benötigten Schritte ausführlich vorstellen:

  1. Haupt-Layout eines Fragments in Android definieren
  2. Anlegen eines Layouts für die Listenelemente
  3. Erzeugen der Beispieldaten (mock data)
  4. Erstellen eines ArrayAdapters und Hinzufügen der Beispieldaten
  5. Erstellen des Listviews und Zuweisen des ArrayAdapters und Layouts
  6. Ausführen unserer Android App auf dem Smartphone, Tablet und im Emulator

Nun wünschen wir euch viel Spaß bei dem vierten Teil unseres großen Android Tutorials. Los geht’s!


Read More

Programmier Tutorial - Apps für Android entwickeln - Eigene Android App installieren

Programmier Tutorial: Apps für Android entwickeln – Teil 3: Eigene Android App auf dem Handy installieren

prog Android 6 Comments

Im dritten Teil unseres großen Android™ Tutorials werden wir unsere eigene Android App installieren. Die App werden wir auf ein Samsung Galaxy S4 mini Smartphone übertragen und anschließend auf dem Android Gerät ausführen.

Bisher haben wir unsere Android App auf einem Android Virtual Device (AVD) installiert und getestet. Das Testen der App auf einem AVD ist sehr hilfreich, kann aber das Testen auf einem physikalischen Android Gerät nicht ersetzen. Außerdem sind einige Android Funktionen nur auf einem Smartphone (Handy) oder Tablet verfügbar.

In diesem Teil unserer Android Tutorial-Serie beschreiben wir, wie ihr eure eigene Android App auf einem Handy, Smartphone oder Tablet installieren könnt. Die App wird von Android Studio aus auf das angeschlossene Android Gerät per USB übertragen und kann danach auf dem Gerät ausgiebig getestet werden.

Wir zeigen wie die Entwicklungsumgebung (Android Studio) und das Android Gerät eingerichtet werden müssen, damit die eigene App auf dem Android-betriebenen Gerät getestet und debugged werden kann.

Nun wünschen wir euch viel Spaß bei dem dritten Teil unseres großen Android Tutorials. Los geht’s!


Read More

Programmier Tutorial - Apps für Android entwickeln - Android Studio Projekt erstellen und einrichten

Programmier Tutorial: Apps für Android entwickeln – Teil 2: Neues Android Studio Projekt erstellen

prog Android 4 Comments

Im zweiten Teil unseres großen Android™ Tutorials werden wir unser erstes Android Studio Projekt erstellen. Dieses Projekt werden wir für die gesamte Tutorial-Serie verwenden und sollte daher exakt nach den unten genannten Vorgaben erstellt werden.

An den Projektdateien werden wir in Abschnitt 2 einige kleine Änderungen vornehmen und dadurch unser Projekt an die Zielplattform anpassen. Danach erstellen wir ein AVD (Android Virtual Device), mit dessen Hilfe wir unsere App im Android Emulator ausführen und testen können. Damit das AVD in dem Android Emulator startet, muss Intel HAXM installiert sein. Daher sollten unbedingt alle Schritte aus dem Android Tutorial Teil 1: Android Studio installieren ausgeführt worden sein.


Nun wünschen wir euch viel Spaß bei dem zweiten Teil unseres großen Android Tutorials. Los geht’s!


Read More

Programmier Tutorial - Apps für Android entwickeln - Android Studio installieren

Programmier Tutorial: Apps für Android entwickeln – Teil 1: Android Studio installieren

prog Android 3 Comments

Im ersten Teil unseres großen Android™ Tutorials werden wir die Installation von Android Studio ausführlich beschreiben. In den späteren Kapiteln werden wir dann mit Hilfe von Android Studio eine eigene App programmieren.

In dieser Schritt für Schritt Anleitung werden wir zunächst Java installieren und dabei auch prüfen, ob Java richtig eingerichtet ist (u.a. ob der Java-Path korrekt gesetzt ist). Anschließend werden wir Android Studio installieren und die grundlegenden Einstellungen vornehmen, die für das Entwickeln eigener Apps notwendig sind.

Für die weiteren Teile unseres Android Tutorials werden wir mit exakt dieser Android Studio Installation arbeiten. Daher solltet ihr alle Schritte der Anleitung genau befolgen und keinen der Schritte auslassen.

Nun wünschen wir euch viel Spaß bei Teil 1 des großen Android Tutorials. Los geht’s!


Wichtige Info
Diese Anleitung ist für eine erstmalige Installation von Android Studio geschrieben. Also für Computersysteme, auf denen Android Studio vorher noch nicht installiert war.

Falls auf euren Rechnern bereits eine ältere Version (jede Version unter 0.8.0) von Android Studio installiert ist, ist es empfehlenswert diese vorher zu deinstallieren und anschließend die aktuellste Version von der Android Developer Webseite zu installieren.



Die Versionsnummer eurer Android Studio Installation könnt ihr sehr leicht überprüfen. Öffnet dazu Android Studio und wartet bis der Willkommensbildschirm der Entwicklungsumgebung zu sehen ist.

Die Versionsnummer wird euch in der Statusleiste am unteren Fensterrand angezeigt. In unserem Beispiel ist Android Studio Version 0.8.14 auf unserem Rechner installiert.

Android Studio Versionsnummer

Die Versionsnummer von Android Studio wird in der Statusleiste angezeigt


Read More

Einführung in Java Design Patterns (Software Entwurfsmuster)

prog Java Programmieren Lernen Leave a Comment

In objektorientierten Programmiersprachen werden Design Patterns verwendet, um ein ganz bestimmtes Software-Entwurfsproblem zu lösen. Das Design Pattern (Entwurfsmuster) dient dabei als eine Art Rezept, mit dessen Hilfe die gegebene Programmieraufgabe gelöst wird.

In Java wird mittels Design Pattern das Zusammenspiel von Klassen, Interfaces, Objekten und Methoden mit dem Ziel beschrieben, vordefinierte Lösungen für konkrete Programmierprobleme anzubieten. Die Entwurfsmuster sind wohlüberlegte Designvorschläge, die Software-Entwickler für den Entwurf ihren eigenen Anwendungen nutzen können.

In Java werden die folgenden Entwurfsmuster häufig verwendet:

  1. Das Singleton (Das Einzelstück) Design Pattern
  2. Das Immutable (Das Unveränderliche) Design Pattern
  3. Interfaces (Schnittstellen) in Java
  4. Das Iterator (Zugriffszeiger) Design Pattern
  5. Das Delegate (übertragen) Design Pattern

Die Entstehungsgeschichte von Design Patterns


Mehr Infos auf Amazon

Der breiten Öffentlichkeit wurden Design Patterns im Jahr 1995 vorgestellt. Die vier Autoren Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides gelten als Wegbereiter dieser revolutionären Software-Entwurfsidee. Sie haben in ihrem Buch Design Patterns. Elements of Reusable Object-Oriented Software oft benötigte Lösungsmuster für wichtige Programmierprobleme allgemein beschrieben.

Mit ihrem Werk über Software-Entwurfsmuster haben sie eine der bedeutsamsten und hilfreichsten Entwicklungen der objektorientierten Programmierung der späten 90er losgetreten und es überhaupt erst ermöglicht standardisierte Bezeichnungen für bestimmte Softwaredesigns zu finden. Seit dem Erscheinen ihrer Buchs werden Begriffe wie Singleton, Factory oder Iterator routinemäßig von Programmieren bei der Beschreibung von objektorientierten Softwareprojekten verwendet und förderten die Kommunikationsfähigkeit der Entwickler untereinander erheblich.

In diesem Beitrag möchten wir die wichtigsten Java Design Patterns kurz vorstellen. Dabei werden wir auf die grundlegenden Eigenschaften des jeweiligen Entwurfsmusters eingehen und mögliche Einsatzgebiete vorstellen. Da Design Patterns ein sehr komplexes Thema sind, können wir mit diesem Beitrag nicht auf alle Details eingehen, daher sind unsere Ausführungen als Einstieg in dieses spannende Gebiet zu sehen.

Read More

Enumerations – Die Aufzählungstypen von Java

prog Java Programmieren Lernen 3 Comments

In diesem Beitrag behandeln wir die Aufzählungstypen (Enumerations) in Java. Mit der fünften Version von Java wurden Enumerations in den Kern der Programmiersprache eingebaut.

Gleichzeitig wurde das neue Schlüsselwort enum eingeführt. Mit dem neuen Schlüsselwort enum werden in Java eigene Aufzählungstypen definiert. Die Syntax ist, wie an folgendem Beispiel zu erkennen ist, sehr einfach und intuitiv:

Auf die definierten Werte des Aufzählungstyps wird über Typname.WertA zugegriffen. Diese können einer Variablen vom Typ der Enumeration zugewiesen werden, etwa folgendermaßen: Typname variableX = Typname.WertA;.

In Java sind Aufzählungstypen als Klassen realisiert. Die definierten Werte sind als Objekte implementiert. Daraus ergeben sich die folgenden nützlichen Eigenschaften:

  • Der Name der Werte kann mit Hilfe der toString-Methode im Klartext ausgegeben werden.
  • Mit Hilfe der equals-Methode kann auf Gleichheit geprüft werden.
  • Enumerations können in switch-Anweisungen verwendet werden.
  • Die beiden Interfaces Comparable und Serializable sind für Aufzählungen implementiert.
  • Mit Hilfe der values-Methode wird ein Array zurückgegeben, das alle Elemente der Enumeration enthält. In Verbindung mit der erweiterten for-Schleife können die Elemente sehr einfach durchlaufen werden.
  • Mit EnumSet und EnumMap wurden zwei neue Collection-Klassen eingeführt, die das Arbeiten mit Enumerations-Mengen erleichtern.

Read More