SHA RE A RUN
A GENDA

          Grundlagen
          Einführung Android
          Die Applikation Share A Run
          Resümee (Pr...
GRUNDL A GEN
Gr undlagen – Die Idee




Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch   4
Gr undlagen – Die Zielgr uppe

        zwischen 15 und 45 Jahren alt
        interessiert an neuen Technologien
       ...
Gr undlagen – A nwendungs s zenar io




Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch   6
GRUNDL A GEN – A N F OR DE R U N G E N



                                                                        Aufteil...
GRUNDL A GEN – M U S S F E A T U R E S

                   Ortung

                   Wettkampf (Punktevergabe)

         ...
GRUNDL A GEN – S OL L F E A T U R E S

                   Sprachausgabe

                   Geschwindigkeitsmessung




Nh...
GRUNDL A GEN – K A N N F E A T U R E S

                   Updatebares Bewertungsprofil

                   Einzelspielerm...
A NDROID
A NDROID - B A C K G R OU N D




                                                                     Nov 07    Open Hand...
A NDROID – E N T W IC K L U N G

         Java als Programmiersprache

         Android benutzt eigene VM DalvikVM

    ...
A NDROID - A C T IV IT IE S
          Anzeige des graphischen User Interface
          Jeder Screen erbt von Activity
  ...
A NDROID - S E R V IC E S
          besitzen kein User Interface
          sind nicht sichtbar und laufen im Hintergrund...
A NDROID - L A Y OU T & G U I
       Layout ist getrennt von der Business Logik
       Layouts werden in XML Dateien def...
A NDROID - M A N IF E S T.XM L
          Jede Applikation benötigt eine Android Manifest.xml-Datei

          Manifest e...
A NDROID - E N T W IC K L U N G S U M G E B U N G

          JDK 5 or 6
          Eclipse 3.3 or 3.4
          Android ...
A PPL IKATION
Die A pplikat ion – Technologien
        XMPP (Smack Bibliothek)                               Philipp und
              ...
Die A pplikat ion – A r chit ekt ur
 Configuration   Configuration              MapsGPS
  WizardStart    WizardSetup      ...
Die A pplikat ion – XM PP
        Extensible Messaging and Presence
         Protocol
        XML basiert
        Insta...
DIE A PPL IKATION - XM P P E XA M P L E




         Handler
         Registriert                                 Broadcas...
SHA RE A RUN - G P S
    LocationManager lm =
    (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    lm.requ...
SHA RE A RUN - G P S

          Distanz zum Ursprung:
                Distanz von: Startwerten/neuen Werten


         ...
SHA RE A RUN - G P S
                                                                       Alt

          Höhenberechnun...
SHA RE A RUN - G P S L OG
   GPX File:
    <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
    <gpx xmlns="http:/...
SHA RE A RUN – T E XT T O S P E E C H
          Installieren der TTS Anwendung auf dem Endgerät
          Einbinden der ...
SHA RE A RUN – M A P V IE W

          Verwendung der Google Maps API

          Einbinden im Manifest:
          <uses...
SHA RE A RUN – M A P V IE W

          Layout
                 <com.google.android.maps.MapView android:id="@+id/mapview"...
SHA RE A RUN – M A P V IE W
      public class HelloMapView extends MapActivity {
      …
         MapView mapView = (MapV...
A NDROID P R O A N D C ON T R A
PRO




Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch   34
PRO – E N T W IC K L U N G S U M G E B U N G

                                 Einfach einzubinden in bestehende
        ...
PRO – E N T W IC K L U N G S U M G E B U N G

                                      Eclipse-Debugger wird verwendet
     ...
PRO – S DK

                                     Zentrale Verwaltung der Activities


                                  ...
PRO – S DK
                                                                Übersicht aller Prozesse
                     ...
PRO – E M U L A T OR

          Umfangreiche Testumgebung
          Fast 1:1 zu Gerät
          Emulation von Bewegung
...
CONTRA




Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch   40
CONTRA – E N T W IC K L U N G S U M G E B U N G

                             Generated R.java
                           ...
CONTRA – S DK

                                     Versionen nicht kompatibel
                                      (nic...
CONTRA – S DK

                                     Lifecycle für Neueinsteiger schlecht
                                ...
CONTRA – E M U L A T OR

          Oft Disconnected
          Emulator-Bug unter MS Vista
          GPS-Bug (maximal 2 ...
CONTRA – DE V IC E

          Keine Multi-Touch-Funktion
          Relativ schlechter GPS-Empfänger




Nha-Phuong Nguye...
M USS - F E A T U R E S

                   Ortung

                   Wettkampf (Punktevergabe)

                   Höhen...
SOL L - F E A T U R E S

                   Sprachausgabe

                   Geschwindigkeitsmessung




Nha-Phuong Nguye...
KA NN - F E A T U R E S

                   Updatebares Bewertungsprofil

                   Einzelspielermodus

         ...
ORGA NISATION




Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch   49
WIR – S HA R E A R U N




                         Da nke f ür die A uf me r ks a mke it !!!
                           E...
Android Share A Run
Nächste SlideShare
Wird geladen in …5
×

Android Share A Run

2.335 Aufrufe

Veröffentlicht am

This is a pdf File which describes how android share a run work

Veröffentlicht in: Technologie, Business
1 Kommentar
2 Gefällt mir
Statistik
Notizen
Keine Downloads
Aufrufe
Aufrufe insgesamt
2.335
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
17
Aktionen
Geteilt
0
Downloads
32
Kommentare
1
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Android Share A Run

  1. 1. SHA RE A RUN
  2. 2. A GENDA  Grundlagen  Einführung Android  Die Applikation Share A Run  Resümee (Probleme und Fazit)  Demo Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 2
  3. 3. GRUNDL A GEN
  4. 4. Gr undlagen – Die Idee Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 4
  5. 5. Gr undlagen – Die Zielgr uppe  zwischen 15 und 45 Jahren alt  interessiert an neuen Technologien  bürgerliche Mitte bis Oberschicht  Freizeit- und Breitensportler  Spaß am Laufen Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 5
  6. 6. Gr undlagen – A nwendungs s zenar io Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 6
  7. 7. GRUNDL A GEN – A N F OR DE R U N G E N  Aufteilung in  Muss /  Soll /  Kann Features Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 7
  8. 8. GRUNDL A GEN – M U S S F E A T U R E S Ortung Wettkampf (Punktevergabe) Höhenberechnung Visualisierung des Lauffortschritts Kontaktplattform Benutzerverwaltung Kommunikation zwischen Endgerät und Server Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 8
  9. 9. GRUNDL A GEN – S OL L F E A T U R E S Sprachausgabe Geschwindigkeitsmessung Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 9
  10. 10. GRUNDL A GEN – K A N N F E A T U R E S Updatebares Bewertungsprofil Einzelspielermodus Online Teilnehmerstatistik Run Einstellungsparameter Multi Run Vor Verabredung Anti Betrug Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 10
  11. 11. A NDROID
  12. 12. A NDROID - B A C K G R OU N D Nov 07 Open Handset Alliance kündigt Android an Android ist Open Source und umfasst Sept 08 T-Mobile G1 wird vorgestellt Betriebssystem für mobile Endgeräte, Android 1.0 SDK Okt 08 Source Code wird veröffentlich Middleware, Applikationen und SDK Apr 09: Android 1.5 SDK Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 12
  13. 13. A NDROID – E N T W IC K L U N G  Java als Programmiersprache  Android benutzt eigene VM DalvikVM  DalvikVM basiert auf Linux Kernel  Jede Applikationen läuft auf eigenem Prozess und DalvikVM Instanz  Android Applikation müssen sich nicht selbst beenden, sondern werden vom System beendet (bei Ressourcenmangel)  Anwendungen können auf Android Market angeboten werden Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 13
  14. 14. A NDROID - A C T IV IT IE S  Anzeige des graphischen User Interface  Jeder Screen erbt von Activity  Activties stellen Informationen dar oder reagieren auf Interaktionen des Users Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 14
  15. 15. A NDROID - S E R V IC E S  besitzen kein User Interface  sind nicht sichtbar und laufen im Hintergrund  werden fortgesetzt auch wenn Activities nicht aktiv oder sichtbar sind  Services werden von Activities gesteuert  Callbacks benachrichtigen Activity wenn ein bestimmtes Ereignis auftritt  Service Schnittstelle wird mit Android Interface Definition Language definiert (.aidl) interface IService { double getDownloadTime(); double getFilename(); double getFilepath(); } Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 16
  16. 16. A NDROID - L A Y OU T & G U I  Layout ist getrennt von der Business Logik  Layouts werden in XML Dateien definiert: <LinearLayout . . . > <Button android:id="@+id/buttonShare" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a Button“/> </LinearLayout>  Zugriff auf XML Ressource onCreate(){ Button button = (Button) findViewById(R.id.buttonShare); button.setTextColor(Color.RED); } Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 17
  17. 17. A NDROID - M A N IF E S T.XM L  Jede Applikation benötigt eine Android Manifest.xml-Datei  Manifest enthält Informationen über die Applikation, die das Android System benötigt um den Code der Applikation auszuführen <manifest> <uses-permission android:name="android.permission.BLUETOOTH"/> <application> <uses-library> … </uses-library> <activity android:name=".StartWindow"> . . . </activity> <service android:name=".ShareARunService"></service> </application> <uses-sdk android:minSdkVersion="3"/> </manifest> Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 18
  18. 18. A NDROID - E N T W IC K L U N G S U M G E B U N G  JDK 5 or 6  Eclipse 3.3 or 3.4  Android Development Tools Plugin  Android SDK 1.5  Tools:  Dalvik Debug Monitor Service  Android Emulator  Android Virtual Devices  LogCat  FileExplorer  GPS Daten simulieren Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 19
  19. 19. A PPL IKATION
  20. 20. Die A pplikat ion – Technologien  XMPP (Smack Bibliothek) Philipp und Stefan  Google Maps  GPS Nha-Phuong und Robert  Text To Speech 21 Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch
  21. 21. Die A pplikat ion – A r chit ekt ur Configuration Configuration MapsGPS WizardStart WizardSetup Window RunSetting RunStart Statistic UserWindow RunWindow Window Window Window XMPPService GPSService
  22. 22. Die A pplikat ion – XM PP  Extensible Messaging and Presence Protocol  XML basiert  Instant Messaging  direkte Kommunikation zwischen Android Endgeräten  Übertragung von Punkten und Status Nachrichten 23 Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch
  23. 23. DIE A PPL IKATION - XM P P E XA M P L E Handler Registriert Broadcast zu Activities Erstellt Instanz Verbindungsaufbau Nachricht empfangen •Implementiert an •Nachricht wird •Implementiert an alle •Leitet Nachricht •Implementiert •Greift auf Methoden IXMPPUICallback.aidl Handler übergeben IXMPPService.aidl angemeldeten Smackable.java des •Stellt Nachricht auf Activities weiter •Implementiert •Verbindungsaufbau XMPPServiceCallback Screen dar XMPPServiceCallback. •Interface zu. Senden java • Empfangen •Übergibt Nachricht an Service Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 24
  24. 24. SHA RE A RUN - G P S LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); lm.requestLocationUpdates("gps",5,10,locationListener); private final LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location l) { l.getLatitude(); l.getLongitude(); l.getAltitude(); l.getSpeed(); Location.distanceBetween(oldLatitude, oldLongitude, newLatitude, newLongitude, result[0]); } } Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 25
  25. 25. SHA RE A RUN - G P S  Distanz zum Ursprung:  Distanz von: Startwerten/neuen Werten  Wegberechnung:  Distanz von: alten Werten/neuen Werten  Gesamtweg = Gesamtweg + Distanz  neue Werte werden zu alten Werten Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 26
  26. 26. SHA RE A RUN - G P S Alt  Höhenberechnung: Hyp = 11.18 5 Meter 10 Meter Long /Lat/Alt Long /Lat Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 27
  27. 27. SHA RE A RUN - G P S L OG  GPX File: <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <gpx xmlns="http://www.topografix.com/GPX/1/1" xm ….. <metadata> … </metadata> <trk> <name>ShareARun</name> <trkseg> <trkpt lat="48.74176740646362" lon="9.100788831710815"> <ele>444.0</ele> <time>2008-10-06T09:18:33Z</time> </trkpt> </trkseg> </trk> </gpx> Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 28
  28. 28. SHA RE A RUN – T E XT T O S P E E C H  Installieren der TTS Anwendung auf dem Endgerät  Einbinden der Library in der eigenen Anwendung  Codebeispiel: import com.google.tts.TTS; private TTS myTts; private TTS.InitListener ttsinitListner = new TTS.InitListener() { public void onInit(int version) { myTts.speak(„Share a run“, 0, null); } }; myTts = new TTS(GPSTracker.this, ttsinitListner, true); Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 29
  29. 29. SHA RE A RUN – M A P V IE W  Verwendung der Google Maps API  Einbinden im Manifest:  <uses-library android:name="com.google.android.maps" /> <uses-permission android:name="android.permission.INTERNET" />  Layout definieren  Layout in Activity verwenden Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 30
  30. 30. SHA RE A RUN – M A P V IE W  Layout <com.google.android.maps.MapView android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" android:apiKey="Your Maps API Key" /> Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 31
  31. 31. SHA RE A RUN – M A P V IE W public class HelloMapView extends MapActivity { … MapView mapView = (MapView) findViewById(R.id.mapview); MapController mc = mapview.getController(); mc.setCenter(geopoint); mc.animateTo(geopoint); … } Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 32
  32. 32. A NDROID P R O A N D C ON T R A
  33. 33. PRO Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 34
  34. 34. PRO – E N T W IC K L U N G S U M G E B U N G  Einfach einzubinden in bestehende Eclipse Platform (Software Updates) Generated R.java  Interface Activity und Code Behind Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 35
  35. 35. PRO – E N T W IC K L U N G S U M G E B U N G  Eclipse-Debugger wird verwendet  Umfangreiche Debugmöglichkeiten Installation  Einfach auf Gerät zu installieren  Muss nicht Zertifiziert werden Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 36
  36. 36. PRO – S DK  Zentrale Verwaltung der Activities  Einfache Benutzung mehrerer Sprachen  Automatische Verwendung  Umfangreiche Klassenbibliothek Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 37
  37. 37. PRO – S DK  Übersicht aller Prozesse pro Emulator  Logging tool LogCat  Interaktion mit Device durch Emulator Control  Übersicht aller verwendeten Threads, freier und belegter Speicher und Dateien Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 38
  38. 38. PRO – E M U L A T OR  Umfangreiche Testumgebung  Fast 1:1 zu Gerät  Emulation von Bewegung  Emulation von GPS  Mehrere Emulatoren Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 39
  39. 39. CONTRA Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 40
  40. 40. CONTRA – E N T W IC K L U N G S U M G E B U N G Generated R.java  R.java lässt sich nicht manuell generieren  Layout-Designer unzureichend Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 41
  41. 41. CONTRA – S DK  Versionen nicht kompatibel (nicht Abwärtskompatibel)  Multithreading verwirrend Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 42
  42. 42. CONTRA – S DK  Lifecycle für Neueinsteiger schlecht zu durchschauen. Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 43
  43. 43. CONTRA – E M U L A T OR  Oft Disconnected  Emulator-Bug unter MS Vista  GPS-Bug (maximal 2 Koordinatensätze)  Startet langsam Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 44
  44. 44. CONTRA – DE V IC E  Keine Multi-Touch-Funktion  Relativ schlechter GPS-Empfänger Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 45
  45. 45. M USS - F E A T U R E S Ortung Wettkampf (Punktevergabe) Höhenberechnung ( ) Visualisierung des Lauffortschritts Kontaktplattform Kommunikation zwischen Endgerät und Server Endgerät Benutzerverwaltung Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 46
  46. 46. SOL L - F E A T U R E S Sprachausgabe Geschwindigkeitsmessung Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 47
  47. 47. KA NN - F E A T U R E S Updatebares Bewertungsprofil Einzelspielermodus Online Teilnehmerstatistik Run Einstellungsparameter Multi Run Vor Verabredung Anti Betrug Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 48
  48. 48. ORGA NISATION Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 49
  49. 49. WIR – S HA R E A R U N Da nke f ür die A uf me r ks a mke it !!! E U E R S HA R E A R U N - T E A M Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 50

×