Android Share A Run
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Android Share A Run

on

  • 3,556 views

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

Statistics

Views

Total Views
3,556
Views on SlideShare
3,541
Embed Views
15

Actions

Likes
2
Downloads
31
Comments
1

2 Embeds 15

http://www.slideshare.net 10
http://localhost 5

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Android Share A Run Presentation 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