Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google...

42
Eh 05/12 Android-Apps ein komplexes Beispiel (Google-Maps und GPS-Daten, Listen, SD-Kartenzugriff, Activities mit Rückgabewerten und Web-Browser/Internet)

Transcript of Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google...

Page 1: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

Android-Appsein komplexes Beispiel

(Google-Maps und GPS-Daten,

Listen, SD-Kartenzugriff, Activities mit Rückgabewerten und

Web-Browser/Internet)

Page 2: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

2/42

Android Apps: ein komplexes Beispiel

Gliederung

● Vorstellung der App Maps PoI

● Vorbereitung von Eclipse auf die Arbeit mit Google Maps

● Android-Code von Maps PoI – neue Inhalte

● Apps vertriebsfertig machen

Page 3: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

3/42

Ein komplexes Beispiel: Maps PoI

Page 4: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

4/42

Ein komplexes Beispiel: Maps PoI

Page 5: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

5/42

Ein komplexes Beispiel: Maps PoI

Page 6: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

6/42

Ein komplexes Beispiel: Maps PoI

Page 7: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

7/42

Google-API einbinden

Page 8: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

8/42

AVD für die MapActivity

Page 9: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

9/42

Google Maps API-Key

Debug-Keystore für ein Debug-Zertifikat

Ort merken! debug.keystore gilt nur ein Jahr, dann läuft eclipse/android nicht mehr. Also jährlich debug.keystore löschen, Projekte cleanen und neu laufen lassen. Es wird dann automatisch ein neuer debug.keystore erstellt.

Page 10: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

10/42

Google Maps API-Key erzeugen

● Kopieren von debug.keystore in einen Ordner unter dem Arbeitsverzeichnis (keine Leerzeichen! z.B. D:\java\android\keys\)

● Mit keytool.exe (..\java\jre6\bin\keytool.exe) wird daraus ein MD5-Fingerabdruck generiert. Damit keytool.exe von überall aufgerufen werden kann, sollte im System die PATH-Variable erweitert werden (auf das bin Verzeichnis zeigen lassen). Alternativ kann auch in der Command Shell auf dieses Verzeichnis gewechselt werden. Oder den debug.keystore in das bin-Verzeichnis kopieren.

● In der Command Shell (cmd.exe) keytool aufrufen:keytool -list -keystore D:\java\android\keys\debug.keystore -storepass androidWichtig! Ab JDK 1.7 wird standardmäßig statt des MD5 eine SHA1-Zertifikatsfingerabdruck ausgegeben. In diesem Fall als ersten Parameter -v hinzufügen.

● Als Ergebnis erhält man einen MD5-Zertifikatsfingerabdruck.

● Aufrufen der Google-Site: http://code.google.com/android/maps-api-signup.html

● Eingabe des MD5-Zertifikatsfingerabdruck

Page 11: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

11/42

Google Maps API-Key erzeugen

Page 12: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

12/42

Google Maps API-Key erzeugen

Page 13: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

13/42

Google Maps API-Key einbinden

Page 14: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

14/42

GPS-Daten simulieren

Unter Windows 7 ist telnet zunächst nicht aktiviert!Das kann man in der Systemsteuerung unter Programme und Funktionen nachholen. Links Windowsfunktionen aktivieren oder deaktivieren anklicken und dies dann mit dem telnet-Client tun ...

Page 15: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

15/42

Maps PoI – Das Manifest

notwendig für Kartenzugriff

GPS-Zugriff

GPS-Simulation Zugriff aufSD-Karte

Page 16: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

16/42

Maps PoI – Übersicht

auswahl.javaseite_auswahl.xml

Page 17: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

17/42

Maps PoI – auswahl

Positionierung

id ist fix!

Page 18: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

18/42

Maps PoI – auswahl

mehr als ein array

Page 19: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

19/42

Maps PoI – auswahl

arraylist ist Objekt, kein array!

arraylist vom Typ String kann an Intent übergeben werden, andere leider nicht!

Page 20: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

20/42

Maps PoI – auswahl

sortiert einfügen

Liste aktualisieren

Page 21: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

21/42

Maps PoI – auswahl

Bahnhof KHStamaSenkenbermuseumWoellstein

loeschen 2okokloeschen 1

Page 22: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

22/42

Maps PoI – auswahlFester Pfad für die SD-Karte

String zeichenweise schreibenTrennzeichen

Toast

Page 23: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

23/42

Maps PoI – auswahl

Ortsname wird

zeichenweise aufgebaut

Trennzeichen

Page 24: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

24/42

Maps PoI – Übersicht

neupoi.javaseite_neupoi.xml

Page 25: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

25/42

Maps PoI – neupoi

Page 26: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

26/42

Maps PoI – Übersicht

loeschen.javaseite_loeschen.xml

Page 27: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

27/42

Maps PoI – loeschen

Page 28: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

28/42

Maps PoI – loeschen

Parallele Liste für Löschstatus aufbauen

Verwaltet nur den Check-Haken, …

… die Information muss getrennt gehalten werden!

Page 29: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

29/42

Maps PoI – Übersicht

hilfe.javaseite_hilfe.xml

Page 30: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

30/42

Maps PoI – hilfe

html-Daten byteweise einlesen und in einen String umwandeln

Page 31: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

31/42

Maps PoI – hilfe

Page 32: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

32/42

Maps PoI – Übersicht

anzeige.javaseite_anzeige.xml

Page 33: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

33/42

Google Maps API-Key einbinden

Maps PoI – anzeige

Page 34: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

34/42

Maps PoI – anzeige

Page 35: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

35/42

Maps PoI – anzeige

Zoom!

Page 36: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

36/42

Maps PoI – anzeige

Die Google Maps API stellt bereits ein Overlay für Position und Kompass zur Verfügung

Höhe über dem WGS84 reference ellipsoid. ErheblicheAbweichungen möglich, insbesondere in Gebäuden!

Page 37: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

37/42

Maps PoI – anzeige

Eigenes Overlay für Grafik (Zielpunkt und Verbindungslinie)

Page 38: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

38/42

Maps PoI – anzeige

GPS → Pixel

Page 39: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

39/42

Maps PoI – anzeige

Achtung Akku!Wird der GPS Sensor nicht ausgeschaltet, ist der Akku über Nacht leer …

Page 40: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

40/42

Maps PoI – anzeige

Page 41: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

41/42

Maps PoI – anzeige

Page 42: Android-Apps · Vorstellung der App Maps PoI Vorbereitung von Eclipse auf die Arbeit mit Google Maps Android-Code von Maps PoI – neue Inhalte Apps vertriebsfertig machen. Eh 05/12

Eh 05/12

42/42

Maps PoI – anzeige

Umbenennen nicht möglich, also löschen und neu anlegen ...

GroupID id order Titel Icon