Suchen und Finden
Service
Cordova - Entwicklung plattformneutraler Apps
Ralph Steyer
Verlag Springer Vieweg, 2017
ISBN 9783658167240 , 401 Seiten
Format PDF, OL
Kopierschutz Wasserzeichen
Vorwort
6
Inhaltsverzeichnis
9
1 Einleitung und Grundlagen – Um was geht es bei Cordova?
15
1.1 Was behandeln wir im einleitenden Kapitel?
15
1.2 Erste grundlegende Überlegungen zum Umfeld
16
1.2.1 Die mobile Welt – Tausende von Inseln
16
1.2.2 Was erwartet Sie in dem Buch?
17
1.3 Was sind Cordova und PhoneGap?
19
1.3.1 Cordova oder PhoneGap oder was?
20
1.4 Die Architektur, der Cordova-Wrapper und FFI
20
1.5 Unterstützte Plattformen bei Cordova
22
1.6 Was sollten Sie bereits wissen?
24
1.7 Was sollten Sie haben?
24
1.7.1 Betriebssysteme
24
1.7.2 Die Entwicklungs-Software
26
1.7.3 Die mobile Hardware und Registrierungsfragen
31
1.7.4 Verschiedene Wege zum Testen
37
2 Native Apps versus Web-Apps und mobilen Web-Applikationen – Das mobile Umfeld von Cordova
40
2.1 Was behandeln wir im einleitenden Kapitel?
40
2.2 Mobile Web-Applikationen und mobile Webseiten versus Web-Apps
41
2.2.1 Webseiten
41
2.2.2 Web-Applikationen – RIA
41
2.2.3 Single-page-Webanwendung
42
2.2.4 Besonderheiten von Web-Apps
42
2.2.5 Native Apps
43
2.2.6 Die Arbeitsweise nativer Apps
44
3 Installation und erste Anwendung von Cordova – Erster Kontakt zu Cordova
70
3.1 Was behandeln wir im Kapitel?
70
3.2 Installation von Cordova
71
3.2.1 Node.js und npm bereitstellen
71
3.2.2 Die konkrete Installation von Cordova mit npm
73
3.2.3 Test der Installation
74
3.2.4 Erweiterte Anweisungen zur Cordova-Installation
75
3.3 Cordova-Projekte anlegen
75
3.3.1 Die Plattformunterstützung hinzufügen
76
3.3.2 Kompilieren und ausführen
77
3.3.3 Individuelle Icons
79
3.4 Von der CLI zur IDE
81
3.4.1 Ein Android-Cordova-Projekt im Android Studio laden und bearbeiten
81
3.4.2 Cordova-Projekte unter Visual Studio
85
3.4.3 Importieren eines Cordova-Projekts in Visual Studio
87
3.5 Verschiedene Workflow, das merges-Verzeichnis und plattformspezifische Anpassungen
89
3.6 Alles was Recht ist
90
3.6.1 Allgemeines zu den Rechtesystemen
90
4 Web-Technologien unter Cordova – Wie setzt man HTML, JavaScript und CSS in Cordova ein?
95
4.1 Was behandeln wir im Kapitel?
95
4.2 Die Indexseite
96
4.2.1 Die Struktur der HTML-Seite
97
4.2.2 Die Skript-Referenzen
98
4.2.3 Style Sheets
100
4.3 Einige Standardschablonen
101
4.4 Die eigenen Skript-Dateien
103
4.5 Weitere Tipps
105
4.5.1 Pfadangaben
105
4.6 Bilder & andere Multimediadateien
106
4.6.1 Eine App mit Bilddarstellung über das img-Tag
107
4.6.2 Eine App mit Video
108
5 Wo bin ich und wo will ich hin? – Mit Cordova die Position und Richtung bestimmen
115
5.1 Was behandeln wir im Kapitel?
116
5.2 Das navigator-Objekt
116
5.2.1 Eigenschaften und Methoden von navigator auswerten
117
5.2.2 Die Bedeutung von deviceready
119
5.3 Geolokalisierung
123
5.3.1 Die verschiedenen Techniken zur Ortsbestimmung
123
5.3.2 Das Objekt navigation.geolocation
128
5.3.3 Die aktuelle Position – ein konkretes Beispiel mit getCurrentPosition()
135
5.3.4 Die Veränderung mit watchPosition() beobachten
142
5.3.5 Die Beobachtung beenden
144
5.4 Ein Mashup mit Kartendiensten
144
5.4.1 Karten von Google Maps nutzen
145
5.4.2 Karten von Bing Maps nutzen
153
5.5 Wie schnell bin ich? Eine Tachometer-App
155
5.6 Ein grafischer Tacho mit HTML5-Canvas-Objekten
158
5.6.1 Das Canvas-Element
158
5.7 Wo geht es lang? Der Kompass
162
5.7.1 Die möglichen Optionen
165
5.7.2 Die Eigenschaften
165
5.7.3 Ein vollständiges Kompassbeispiel
166
5.7.4 Ein Kompassbeispiel unter Verwendung von HTML5-Canvas-Objekten
168
5.8 Der Beschleunigungssensor
171
5.8.1 Die Methoden und Eigenschaften
172
5.9 Ein Cockpit als Abschlussbeispiel
175
5.9.1 Portrait-Modus
175
6 Erstellung in der Cloud – Der Build-Dienst von Adobe®
184
6.1 Was behandeln wir in diesem Kapitel?
184
6.2 Der Build-Dienst
185
6.3 Übersetzung der Web-Quellcodes
188
7 Information und Rückmeldung – Hallo, jemand da?
190
7.1 Was behandeln wir im Kapitel?
190
7.2 Das device-Objekt
191
7.2.1 Die Eigenschaften
191
7.2.2 Ein Beispiel zur Anzeige relevanter Informationen
191
7.3 Der Netzwerkstatus
194
7.3.1 Ein Beispiel zur Auswertung des Netzwerkstatus
194
7.3.2 Ein Muster zur Entscheidung, ob eine Netzwerkverbindung besteht
195
7.4 Notification
196
7.4.1 Das Dialogfenster über alert()
196
7.4.2 Der confirm()-Dialog
199
7.4.3 Entgegennahme von Benutzereingaben mit prompt()
201
7.4.4 beep()
201
7.4.5 vibrate()
202
7.4.6 Weiterentwicklung der Cockpit-App
202
7.5 Der Batteriestatus
203
7.6 Das Konsolenobjekt
204
7.7 Die Statusbar
204
8 Cordova im Zusammenspiel mit ergänzenden Frameworks – Die Funktionalität und die GUI bequemer erstellen
205
8.1 Was behandeln wir im Kapitel?
206
8.2 jQuery, jQuery UI und jQuery Mobile
206
8.3 Das Basisframework jQuery
207
8.3.1 Download von jQuery
208
8.3.2 Die Einbindung von jQuery in Webseiten
209
8.3.3 Wie jQuery grundsätzlich arbeitet
209
8.3.4 Wichtige Methoden von jQuery
210
8.3.5 Die Ereignisbehandlung
212
8.3.6 Vorhandenen Code mit jQuery umsetzen – das navigator-Objekt auswerten
215
8.4 Die GUI-Erstellung mit jQuery Mobile
219
8.4.1 Die Plattformen
219
8.4.2 Die speziellen Features von jQuery Mobile
220
8.4.3 Der Download
221
8.4.4 Die Einbindung
221
8.4.5 Das Rollensystem und data-role
223
8.4.6 Der grundsätzliche Aufbau einer mobilen Seite
224
8.4.7 Eine erste App mit jQuery Mobile
226
8.4.8 Eine weitere App mit jQuery Mobile – eine verbesserte Tachometer-App
228
8.4.9 Schaltflächen, Toolbars, Navbars und Formularelemente
230
8.4.10 Weiterentwicklung der Tacho-App mit jQuery Mobile
233
8.4.11 Das Themenframework und allgemeine Gestaltung von Inhalt
238
8.5 Der Einsatz von Bootstrap
249
8.5.1 Responsive Design
250
8.5.2 Bootstrap zur Umsetzung von RWD
251
8.5.3 Herunterladen
252
9 Multimediafragen – Mobile Unterhaltung
254
9.1 Was behandeln wir im Kapitel?
254
9.2 Zugriff auf die Kamera – das navigator.camera-Objekt
255
9.2.1 Die Aufnahme mit getPicture()
255
9.2.2 Ein Beispiel – ein Bild aufnehmen, anzeigen und speichern
257
9.3 Aufnahmemöglichkeiten mit Capture & Co
261
9.3.1 Die Basisobjekte
262
9.3.2 Das ConfigurationData-Array
263
9.3.3 Konkrete Aufnahmemethoden
264
9.3.4 Die Optionen
265
9.3.5 Erfolg und Misserfolg
266
9.3.6 Konkrete Aufnahmebeispiele
267
9.4 Audiowiedergabe und -aufnahme mit Media
274
9.4.1 Erzeugen von Mediaobjekten
274
9.4.2 Die Parameter
275
9.4.3 Methoden von Mediaobjekten
275
9.4.4 Ein Mediaplayer als Beispiel
275
10 Kontaktversuche – Zugriff auf das Adressbuch
282
10.1 Was behandeln wir im Kapitel?
282
10.2 Die Kontaktdatenbank – Contacts und Contact
283
10.2.1 Die Objekte Contacts und Contact
284
10.2.2 Ein Kontaktbeispiel
287
10.2.3 Eine Weiterentwicklung des Beispiels
291
10.3 Verwalten von Daten
294
10.3.1 Speichern, Duplizieren und Löschen
294
10.3.2 ContactError
295
10.4 Das Suchen von Daten
295
10.5 Die Methode pickContact()
296
11 Ran an den Speicher – Persistente Informationen
297
11.1 Was behandeln wir im Kapitel?
298
11.2 Zugriffe auf das Dateisystem – File & Co
298
11.2.1 Vorüberlegungen
298
11.2.2 Datenströme
299
11.2.3 Die Basisobjekte unter Cordova
301
11.2.4 LocalFileSystem
302
11.2.5 Wo wird gespeichert?
304
11.2.6 Objekte vom Typ File und FileSystem und das Plugin cordova-plugin-file
306
11.2.7 Eine Datei erstellen
313
11.2.8 Ein Beispiel zum Anlegen einer Datei in einer RIA
314
11.2.9 Ein Beispiel zum Anlegen einer Datei in einer App
316
11.2.10 Zugang zum Content mit FileReader und FileWriter
316
11.2.11 Arbeiten mit Verzeichnissen – Repräsentation des Dateisystems über FileSystem und DirectoryReader
328
11.2.12 Eine KML-Datei erstellen – Tracking für die Geolocation
331
11.3 FileTransfer und FileUploadOptions
336
11.3.1 FileUploadResult
338
11.3.2 FileTransferError
338
11.3.3 Ein Beispiel mit dem Upload einer Datei
339
11.4 WebSQL und Zugriff auf eine SQLite-Datenbank
346
11.4.1 Was ist WebSQL?
346
11.4.2 Was ist SQLite?
346
11.4.3 Die WebSQL- bzw. SQLite-Features in Cordova
347
11.5 Local Data Storage
358
11.5.1 Die Objekte localStorage und sessionStorage
359
11.5.2 Ein Beispiel zum Speichern von Daten im Local Data Storage
359
11.6 IndexedDB
363
11.6.1 Allgemeine Arbeitsweise
364
11.6.2 Ein komplettes Beispiel
366
12 Erweiterte Cordova-Themen – Was rund um die eigentlichen Apps noch geht
376
12.1 Was behandeln wir in dem Kapitel?
376
12.2 Cordova-App-Templates
377
12.2.1 Alternative Templates verwenden
377
12.2.2 Ein Template selbst erstellen
378
12.3 Der Splashscreen
381
12.4 Whitelisting und die Content Security Policy
382
12.4.1 Vertrauenswürdige Adressen in der Datei config.xml
382
12.4.2 Content Security Policy mittels meta-Tag
384
12.5 Hooks
385
12.5.1 Definitionswege für Hooks
387
12.6 Eigene Plugins entwickeln
388
12.6.1 Die JavaScript-Schnittstelle
389
12.6.2 Die nativen Schnittstellen
390
12.6.3 Das Veröffentlichen von Plugins
390
12.7 Plugins aus zusätzlichen Quellen installieren und Funktionalitäten erweitern
390
12.7.1 Ein Beispiel – das Clipboard-Plugin
390
Stichwortverzeichnis
393