Your SlideShare is downloading. ×
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Android Share A Run
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Android Share A Run

1,965

Published on

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

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

Published in: Technology, Business
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
1,965
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
31
Comments
1
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. SHA RE A RUN
  • 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. GRUNDL A GEN
  • 4. Gr undlagen – Die Idee Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 4
  • 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. Gr undlagen – A nwendungs s zenar io Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 6
  • 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. 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. 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. 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. A NDROID
  • 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. 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. 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. 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. 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. 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. 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. A PPL IKATION
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. A NDROID P R O A N D C ON T R A
  • 33. PRO Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 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. 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. 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. 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. 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. CONTRA Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 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. CONTRA – S DK  Versionen nicht kompatibel (nicht Abwärtskompatibel)  Multithreading verwirrend Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 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. 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. 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. 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. 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. 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. ORGA NISATION Nha-Phuong Nguyen | Philipp Lehmann | Robert Krüger | Stefan Zülch 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

×