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
Die Methode Calendar getTime(DataType dataType);
kann aus dem Interface und Implementierung entfernt werden, da diese nirgendwo genutzt wird.
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();
}
Es fehlt der Hinweis zu dem Ordner mit dem Quellcode: