3. Auflage

Android-Apps programmieren

Android-Apps programmieren

Seit 2011 unterrichte ich Android-Programmierung an der Münchener Volkshochschule (MVHS) und privat. Die Idee dazu kam bereits 2009, als ich bei MVHS den ersten Kurs zu OS X gab. Die Umsetzung musste zwei Jahre auf sich warten, um sowohl das notwendige Wissen, als auch die Unterlagen zum Kurs auszuarbeiten (damals noch für Eclipse und Android 1.6/2.0).

Zu den Stoßzeiten des Android-Booms liefen zwei Kurse parallel mit jeweils max. möglichen 10 Teilnehmern. Diese Zeiten sind zwar vorbei, die Android-Entwicklung erfreut sich aber weiterhin großer Beliebtheit.

Nun ist die dritte, überarbeitete, Auflage erschienen. Viele Themen wurden aktualisiert und erweitert. Die neu Auflage bezieht sich auf Android Studio 4.x.

Sie können das Buch sowohl direkt bei mitp-Verlag, aber auch bei Amazon bestellen (analog auf Papier, oder digital als E-Book). Als Vorgeschmack können Sie die Leseprobe unten herunterladen und lesen.

Themen im Buch

  • Entwicklungsumgebung Android Studio
  • Layouterstellung mit XML
  • ROOM und SQLite Datenbank unter Android
  • Hintergrundoperationen
  • Benachrichtigungen
  • Berechtigungen
  • Navigation und ActionBar
  • Storage Access Framework (SAF)
  • Dialoge
  • Internetzugriff und REST-Dienste
  • Unit Testing und UI Testing
  • Emulatoren

Korrekturen / Ergänzungen

S. 236

Die Methode Calendar getTime(DataType dataType); kann aus dem Interface und Implementierung entfernt werden, da diese nirgendwo genutzt wird.

S. 239

In der Methode updateDate muss der Aufruf updateUi() außerhalb der if Anweisung passieren. Es sollte also statt:


@Override
public void updateDate(DateType dateType, int year, int month, int day) {
  if (dateType == DateType.START) {
    _workTime.startTime.set(year, month, day);
  } else {
    if (_workTime.endTime == null) {
      _workTime.endTime = Calendar.getInstance();
    }

    _workTime.endTime.set(year, month, day);
    updateUi();
  }
}

dann folgendes stehen:


@Override
public void updateDate(DateType dateType, int year, int month, int day) {
  if (dateType == DateType.START) {
    _workTime.startTime.set(year, month, day);
  } else {
    if (_workTime.endTime == null) {
      _workTime.endTime = Calendar.getInstance();
    }

    _workTime.endTime.set(year, month, day);
  }
  updateUi();
}
S.260

Es fehlt der Hinweis zu dem Ordner mit dem Quellcode: