0

Professionelle Android App-Entwicklung

eBook

Erschienen am 03.12.2019, 1. Auflage 2019
44,99 €
(inkl. MwSt.)

Download

E-Book Download
Bibliografische Daten
ISBN/EAN: 9783527686810
Sprache: Deutsch
Umfang: 928 S., 27.99 MB
E-Book
Format: EPUB
DRM: Adobe DRM

Beschreibung

Reto Meier, Entwickler und Führungskraft bei Google, verrät Ihnen in diesem Buch seine vielversprechendsten Techniken und Erfolgsrezepte. Sie erfahren, wie Sie die neuesten Features von Android am besten einsetzen und wie Sie damit schnell und sicher robuste und überzeugende Apps entwickeln. Anhand zahlreicher Beispielprojekte erhalten Sie einen tiefen Einblick in die aktuelle Android-Plattform. Die Übungen beginnen einfach, mit allmählich wachsendem Schwierigkeitsgrad.

Der Download für die Beispieldateien ist umgezogen, Sie finden ihn nun hier:
https://www.wiley.com/en-us/Professional+Android%2C+4th+Edition-p-9781118949535

Autorenportrait

Reto Meier ist bei Google Leiter der Abteilung Scalable Developer Advocacy, Developer Relations. Zuvor war er verantwortlich für die Rekrutierung von Android-Entwicklern in Europa, im Mittleren Osten und in Afrika. Reto bevorzugt intuitive Anwendungen mit überzeugenden Benutzeroberflächen, die optimal auf die Geräte der User abgestimmt sind. Er hat einen eigenen Blog, einen eigenen YouTube-Kanal und über 42.000 Anhänger auf Twitter und 64.000 auf Google+.

Inhalt

Vorwort 19

1 Hallo Android 21

1.1 Android-Anwendungsentwicklung 21

1.2 Ein wenig Hintergrund 22

1.3 Das Android-Ökosystem 24

1.4 Vorinstallierte Android-Anwendungen 25

1.5 Android SDK-Features 26

1.6 Worauf läuft Android? 27

1.7 Warum für mobile Geräte entwickeln? 27

1.8 Warum für Android entwickeln? 28

1.9 Einführung in das Development Framework 28

2 Los gehts 35

2.1 Android-Apps entwickeln 36

2.2 Für Android entwickeln 37

2.3 Entwicklung für mobile und embedded Geräte 65

2.4 Android Entwicklungswerkzeuge 76

3 Application, Activitity und Fragment 89

3.1 Application, Activity und Fragment 89

3.2 Die Komponenten einer Android-Anwendung 90

3.3 Lebenszyklus, Priorität und Prozessstatus einer Android-Anwendung 91

3.4 Die Klasse Application 94

3.5 Android Activities näher betrachtet 94

3.6 Einführung in Fragmente 109

3.7 Erstellen einer Erdbebenanzeige-App 128

4 Definieren der Android Manifest- und Gradle-Build-Dateien und die Auslagerung von Ressourcen 139

4.1 Manifest, Build-Dateien und Ressourcen 139

4.2 Einführung in das Android Manifest 140

4.3 Gradle-Build konfigurieren 146

4.4 Ressourcen auslagern 154

5 Erstellen von Benutzeroberflächen 181

5.1 Grundlegendes Android Design 182

5.2 Dichteunabhängiges Design 183

5.3 Grundlagen der Android-Benutzeroberfläche 184

5.4 Einführung in Layouts 186

5.5 Die Android Widget Toolbox 199

5.6 Arbeiten mit Lists und Grids 200

5.7 Einführung in das Data-Binding 208

5.8 Eigene Views erzeugen 214

6 Intents und Broadcast-Empfänger 243

6.1 Verwendung von Intents und Broadcast-Receivern 244

6.2 Mit Intents Activities starten 245

6.3 Erstellen von Intent-Filtern für den Empfang 254

6.4 Einführung in Linkify 271

6.5 Intents für Broadcast-Events verwenden 274

6.6 Einführung in den Local-Broadcast-Manager 281

7 Internet-Ressourcen verwenden 285

7.1 Mit dem Internet verbinden 285

7.2 Internet-Ressourcen verbinden, herunterladen und parsen 286

7.3 Den Download-Manager verwenden 313

7.4 Akkuschonendes Herunterladen von Dateien 323

7.5 Einführung in Internet Services und Cloud Computing 325

8 Dateien, Speicher-Status und Benutzereinstellungen 327

8.1 Dateien, Zustände und Einstellungen speichern 328

8.2 Activity- und Fragment Instance-State mit den Lifecycle-Handlern sichern und wiederherstellen 328

8.3 Instanzstatus mit kopflosen Fragmenten und ViewModel beibehalten 331

8.4 SharedPreferences erstellen und speichern 336

8.5 SharedPreferences zurückholen 338

8.6 Einführung in den OnSharedPreferenceChangeListener 338

8.7 Auto-Backup von Anwendungsdateien und SharedPreferences konfigurieren 339

8.8 Preference-Benutzeroberflächen erstellen 341

8.9 Eine Preference-Activity für den EarthquakeMonitor anlegen 348

8.10 Statische Dateien als Ressourcen einbinden 356

8.11 Arbeiten mit dem Dateisystem 356

8.12 Freigeben von Dateien über FileProvider 364

8.13 Zugriff auf Dateien aus anderen Anwendungen über das Storage Access Framework 367

8.14 URI-basierte Berechtigungen verwenden 370

9 Datenbanken anlegen und verwenden 373

9.1 Einführung in die Speicherung strukturierter Daten in Android 374

9.2 Daten über die Room Persistence Library ablegen 374

9.3 Erdbeben mit einer Room-Datenbank ablegen 388

9.4 Arbeiten mit SQLite-Datenbanken 393

10 Content-Provider und Suchen 415

10.1 Einführung in die Content-Provider 416

10.2 Warum sollte ich Content-Provider verwenden? 416

10.3 Content-Provider anlegen 417

10.4 Zugriff auf Content-Provider mit Content-Resolvern 432

10.5 Systemeigene Android Content-Provider verwenden 445

11 Im Hintergrund arbeiten 491

11.1 Im Hintergrund arbeiten 492

11.2 Hintergrund-Threads einsetzen 493

11.3 Hintergrundjobs schedulen 501

11.4 Mit Notifications Benutzer benachrichtigen 521

11.5 Firebase Cloud-Messaging 542

11.6 Alarm 548

11.7 Services 550

12 Umsetzung der Android-Design-Philosophie 561

12.1 Die-Android-Design Philosophie 561

12.2 Gestalten für alle Bildschirmarten 562

12.3 Einführung in das Material-Design 578

12.4 Material-Design Bedienelemente 586

13 Moderne Android-Benutzerführung 599

13.1 Die moderne Android-Oberfläche 600

13.2 Konsistente, moderne Benutzeroberflächen mit AppCompat erstellen 600

13.3 Ein Menü und Aktionen zur App-Leise hinzufügen 603

13.4 Über die Standard-Anwendungsleiste hinausgehen 610

13.5 Verbesserung der App-Leiste des Erdbeben-Monitors 617

13.6 Navigationsmuster 619

13.7 Registerkarten zum Erdbeben-Monitor hinzufügen 635

13.8 Den richtigen Grad der Unterbrechung wählen 641

14 Erweiterte Anpassung der Benutzeroberfläche 647

14.1 Die Benutzerführung erweitern 648

14.2 Barrierefreiheit unterstützen 648

14.3 Android Text-to-Speech 650

14.4 Spracherkennung 653

14.5 Vibration kontrollieren 655

14.6 Den Vollbildschirm nutzen 656

14.7 Property-Animationen 658

14.8 Verbessern Sie Ihre Views 663

14.9 Zusammengesetzte Drawable Ressourcen 691

14.10 Kopieren, Einfügen und die Zwischenablage 695

15 Standort, Kontextsensitivität und Kartografie 697

15.1 Standorte, Karten und Kontextsensitivität zu Ihren Anwendungen hinzufügen 698

15.2 Einführung in die Google Play-Services 699

15.3 Gerätestandort über Google Location-Services suchen 703

15.4 Einstellen und Verwalten von Geofences 731

15.5 Verwendung der standortbasierten Dienste der Legacy-Plattform 735

15.6 Der Einsatz von Geocoder 746

15.7 Kartenbasierte Activities anlegen 753

15.8 Das Erdbeben-Beispiel kartieren 779

15.9 Kontextabhängigkeit hinzufügen 784

16 Hardware-Sensoren 795

16.1 Android-Sensoren 796

16.2 Testen von Sensoren mit dem Android Virtual Device und Emulator 815

16.3 Empfehlungen für die Arbeit mit Sensoren 815

16.4 Bewegung und Ausrichtung eines Geräts überwachen 817

16.5 Umgebungssensoren 838

16.6 Körpersensoren 844

16.7 Erkennung der Benutzeraktivitäten 848

17 Audio, Video und Verwendung der Kamera 851

17.1 Wiedergabe von Audio und Video und Verwendung der Kamera 852

17.2 Wiedergabe von Audio und Video 852

17.3 Media-Router und Cast Application Framework 871

17.4 Audio-Wiedergabe im Hintergrund 876

17.5 Audioaufnahmen mit dem Media Recorder 887

17.6 Die Fotokamera 890

17.7 Videos aufnehmen 901

17.8 Medien zum Media-Store hinzufügen 905

18 Kommunikation mit Bluetooth, NFC und Wi-Fi Peer-to-Peer 909

18.1 Vernetzung und Peer-to-Peer-Kommunikation 909

18.2 Datenübertragung über Bluetooth 910

18.3 Übertragung von Daten über Wi-Fi Peer-to-Peer 929

18.4 Near Field Communication 936

18.5 Android Beam 941

19 In den Startbildschirm eindringen 947

19.1 Den Startbildschirm anpassen 947

19.2 Startbildschirm-Widgets 948

19.3 Ein Erdbeben-Widget erzeugen 965

19.4 CollectionView Widgets 972

19.5 Live-Wallpaper erzeugen 989

19.6 App-Shortcuts erzeugen 994

20 Fortgeschrittene Android-Entwicklung 1001

20.1 Fortgeschrittenes Android 1002

20.2 Android paranoid 1002

20.3 Umgang mit unterschiedlicher Hard- und Softwareverfügbarkeit 1009

20.4 Optimierung der Oberflächen-Performance durch StrictMode 1014

20.5 Telefonie und SMS 1015

21 Anwendungen veröffentlichen, vertreiben und überwachen 1049

21.1 Vorbereitung der Veröffentlichung 1050

21.2 Vorbereitung des Release Support-Materials 1050

21.3 Aktualisieren von Anwendungsmetadaten in Ihrem Anwendungsmanifest 1052

21.4 Signieren von Produktions-Builds Ihrer Anwendung 1056

21.6 Vermarktung von Apps 1082

21.7 Anwendungsmarketing, Promotion und Vertriebsstrategien 1083

21.8 Firebase zur Überwachung Ihrer Anwendung verwenden 1086

Stichwortverzeichnis 1095

Informationen zu E-Books

„E-Book“ steht für digitales Buch. Um diese Art von Büchern lesen zu können wird entweder eine spezielle Software für Computer, Tablets und Smartphones oder ein E-Book Reader benötigt. Da viele verschiedene Formate (Dateien) für E-Books existieren, gilt es dabei, einiges zu beachten.
Von uns werden digitale Bücher in drei Formaten ausgeliefert. Die Formate sind EPUB mit DRM (Digital Rights Management), EPUB ohne DRM und PDF. Bei den Formaten PDF und EPUB ohne DRM müssen Sie lediglich prüfen, ob Ihr E-Book Reader kompatibel ist. Wenn ein Format mit DRM genutzt wird, besteht zusätzlich die Notwendigkeit, dass Sie einen kostenlosen Adobe® Digital Editions Account besitzen. Wenn Sie ein E-Book, das Adobe® Digital Editions benötigt herunterladen, erhalten Sie eine ASCM-Datei, die zu Digital Editions hinzugefügt und mit Ihrem Account verknüpft werden muss. Einige E-Book Reader (zum Beispiel PocketBook Touch) unterstützen auch das direkte Eingeben der Login-Daten des Adobe Accounts – somit können diese ASCM-Dateien direkt auf das betreffende Gerät kopiert werden.
Da E-Books nur für eine begrenzte Zeit – in der Regel 6 Monate – herunterladbar sind, sollten Sie stets eine Sicherheitskopie auf einem Dauerspeicher (Festplatte, USB-Stick oder CD) vorsehen. Auch ist die Menge der Downloads auf maximal 5 begrenzt.