Mobile App Development - Sensoren -

Größe: px
Ab Seite anzeigen:

Download "Mobile App Development - Sensoren -"

Transkript

1 Mobile App Development - Sensoren -

2 Inhalt Sensoren Sensor Framework Bewegungssensoren Posi2onssensoren Umweltsensoren?????????? GPS??????????

3 Sensoren

4 Sensoren Was ist ein Sensor?

5 Sensoren Defini2on Sensor Ein Sensor ist ein technisches Bauteil, das eine physikalische Größe der Umwelt und ihre Änderungen in digitale Signale umwandelt.

6 Sensoren Android unterscheidet drei Kategorien von Sensoren: Bewegungssensoren Diese Sensoren messen KräKe die auf das Gerät wirken, z. B. Beschleunigung, Gravita2on und Drehung

7 Sensoren Posi2onssensoren Diese Sensoren messen die physikalische Posi2on des Gerätes, z. B. die Orien2erung Umweltsensoren Diese Sensoren messen Umwelt- parameter, wie Temperatur, Druck und LuKfeuch2gkeit

8 Sensoren Weiterhin wird zwischen zwei Arten von Sensoren unterschieden Hardware- basierte Sensoren SoKware- basierte Sensoren

9 Sensoren Hardware- basierte Sensoren greifen direkt auf physikalische Komponenten zu und erhalten Messwerte SoKware- basierte Sensoren erhalten ihre Daten von einem oder mehreren Hardware- Sensoren und imi2eren einen vorhandenen Sensor

10 Sensoren Sensor Koordinatensystem Einige Sensoren, die dreidimensionale Daten liefern, haben eine gemeinsames Koordinatensystem Das Koordinatensystem ist rela2v zur Standardorien2erung des Geräte ausgerichtet

11 Sensoren Sensor Koordinatensystem X- Achse horizontal und zeigt nach rechts Y- Achse ver2kal und zeigt nach oben Z- Achse Normale auf XY- Ebene und zeigt aus dem Display heraus Bildquelle:

12 Sensoren Beachten: Das SKS wird nicht gedreht, wenn sich die Orien2erung des Gerätes ändert. Es bleibt rela2v zur natürlichen Posi2on. Die natürliche Orien2erung verschiedener Geräte kann variieren, siehe Smartphone und Tablet. Bildquelle:

13 Sensor Framework

14 Sensor Framework Android stellt ein Sensor Framework zum Zugriff auf Sensoren bereit Das Sensor Framework ist eine Reihe von Klassen, um Sensoren zu verwalten, Listener zu registrieren und Sensorereig- nisse zu erhalten

15 Sensor Framework Das Sensor Framework besteht aus den Klassen SensorManager Sensor SensorEvent SensorEventListener

16 Sensor Framework SensorManager dient als System Service zum Zugriff auf Sensoren enthält Konstanten für die verschiedenen Sensortypen & Standardwerte Registrierung von SensorEventListener

17 Sensor Framework Sensor repräsen2ert einen Sensor enthält Methoden, um EigenschaKen des Sensors abzurufen Genauigkeit (Auflösung) Energieverbrauch Hersteller, Version,...

18 Sensor Framework SensorEvent repräsen2ert ein Sensorereignis enthält verschieden Informa2onen Sensor, der das Ereignis erzeugt hat Zeitstempel Messwert Genauigkeit des Ereignisses

19 Sensor Framework SensorEventListener wird verwendet, um sich als Listener für Sensor Änderung zu registrieren informiert über neue Sensor Werte Genauigkeitsänderungen

20 Sensor Framework Alle Sensoren auflisten public class SensorActivity extends ListActivity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // sensor service abrufen SensorManager mng = (SensorManager) getsystemservice(sensor_service); // Liste aller Sensoren abfragen List<Sensor> allsensors = mng.getsensorlist(sensor.type_all); } } // Sensoren in einer ListActivity darstellen ArrayAdapter<String> adapter = new ArrayAdapter<String>(!! this, android.r.layout.simple_list_item_1); for (Sensor sensor : allsensors) {! adapter.add(sensor.getname()); } setlistadapter(adapter);

21 Sensor Framework Um eine Referenz auf einen bes2mmten Sensor zu bekommen, wird der Methode getdefaultsensor() eine Typ- Konstante übergeben Die Methode gibt den Standardsensor für den angegebenen Typ zurück

22 Sensor Framework Einen bes2mmten Sensor abrufen public class ProximityActivity extends Activity! private SensorManager msensormng; private Sensor mproxsensor; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); } } // Instanz vom SensorManager abrufen msensormng = (SensorManager) getsystemservice(sensor_service); // Entfernungssensor abrufen mproxsensor = msensormng.getdefaultsensor(sensor.type_proximity); if (mproxsensor!= null) {! // SensorListener registrieren } else {! // Fehler: Kein Abstandssensor vorhanden }

23 Sensor Framework Mit dem SensorManager können SensorEventListener registriert werden, die bei neuen Sensor Events informiert werden Hinweis: Diese sollten auch wieder deregistriert werden, wenn sie nicht mehr gebraucht werden!

24 Sensor Framework SensorEventListener implemen2eren public class ProximityActivity extends Activity implements SensorEventListener public void onsensorchanged(sensorevent event) { // neuen Sensorwert verarbeiten!! Log.d(TAG, "Proximity is: " + event.values[0]);! public void onaccuracychanged(sensor sensor, int accuracy) { // auf Genauigkeitsänderungen reagieren!! switch (accuracy) {!!! case SensorManager.SENSOR_STATUS_ACCURACY_HIGH: { /*... */ }!!! case SensorManager.SENSOR_STATUS_ACCURACY_MEDIUM: { /*... */ }!!! case SensorManager.SENSOR_STATUS_ACCURACY_LOW: { /*... */ }!!! case SensorManager.SENSOR_STATUS_UNRELIABLE: { /*... */ }!! }! } }

25 Sensor Framework SensorEventListener registrieren public class ProxActivity extends Activity implements SensorEventListener { private SensorManager msensormng; private Sensor mproxsensor;! public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // msensormng & mproxsensor } protected void onresume() {! super.onresume();! // SensorEventListener registrieren! if (mproxsensor!= null) {!! msensormng.registerlistener(this, mproxsensor,!!!! SensorManager.SENSOR_DELAY_UI);! } } protected void onpause() {! // SensorEventListener deregistrieren! msensormng.unregisterlistener(this);! super.onpause(); } }

26 Bewegungssensoren

27 Bewegungssensoren Android unterstützt verschiedene Arten von Bewegungssensoren Beschleunigungssensor Gravita2onssensor Gyroskop Rota2onsvektor

28 Bewegungssensoren Beschleunigungssensor... misst die BeschleunigungskräKe die auf ein Gerät wirken in drei Dimensionen Die Messwerte enthalten zusätzlich die BeschleunigungskräKe, die durch die Erdanziehung wirken Die Einheit der Werte ist m/s 2

29 Bewegungssensoren Beschleunigungssensor verwenden public class AccelerationActivity extends Activity {!! private SensorManager msensormng;! private Sensor public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_acceleration); } } // Referenz auf den SensorManger holen msensormng = (SensorManager) getsystemservice(sensor_service); // Referenz auf Beschleunigungssensor holen accelsensor = msensormng.getdefaultsensor(sensor.type_accelerometer);

30 Bewegungssensoren SensorEventListener (de)registrieren public class AccelerationActivity extends Activity!! implements SensorEventListener {! private SensorManager msensormng; private Sensor accelsensor; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); msensormng = (SensorManager) getsystemservice(sensor_service); accelsensor = msensormng.getdefaultsensor(sensor.type_accelerometer); } protected void onresume() {! super.onresume(); if (accelsensor!= null) {! msensormng.registerlistener(this, accelsensor,!!!!!!!!!! SensorManager.SENSOR_DELAY_UI); } } } protected void onpause() {! msensormng.unregisterlistener(this);! super.onpause(); }

31 Bewegungssensoren Beschleunigungswerte auslesen public class AccelerationActivity extends Activity!! implements SensorEventListener {! private float[] gravity = new float[]{1, 1, 1};! private float[] linear_acceleration = new float[]{0, 0, 0};! public void onsensorchanged(final SensorEvent event) { Log.d(TAG, "Acceleration(x,y,z): " + event.values[0] + " " +!!!! event.values[1] + " " + event.values[2]);! }! public void onaccuracychanged(sensor sensor, int accuracy) { /*...*/ } }

32 Bewegungssensoren Problem: Beschleunigungswerte enthalten die Erdbeschleunigung Was heißt das? Beispiele: Gerät liegt mit Display nach oben auf dem Tisch, x? y? z? Gerät steht auf der linken Seite, x?, y?, z? Gerät steht auf dem Kopf, x?, y?, z?

33 Bewegungssensoren Gravita2on filtern public class AccelerationActivity extends Activity!! implements SensorEventListener {! private float[] gravity = new float[]{1, 1, 1};! private float[] linear_acceleration = new float[]{0, 0, 0};! public void onsensorchanged(final SensorEvent event) {!! final float alpha = 0.8f;!! // lowpass filter!! gravity[0] = alpha * gravity[0] + (1 - alpha) * event.values[0];!! gravity[1] = alpha * gravity[1] + (1 - alpha) * event.values[1];!! gravity[2] = alpha * gravity[2] + (1 - alpha) * event.values[2];!! // highpass filter!! linear_acceleration[0] = event.values[0] - gravity[0];!! linear_acceleration[1] = event.values[1] - gravity[1];!! linear_acceleration[2] = event.values[2] - gravity[2];! }! public void onaccuracychanged(sensor sensor, int accuracy) { /*...*/ } }

34 Bewegungssensoren Wofür kann der Beschleunigungssensor verwendet werden? Bewegungserfassung: Schlafphasenwecker Don t touch my Droid Seismograph App Gestenerkennung: z. B. Shake

35 Bewegungssensoren Linearer Beschleunigungssensor Der lineare Beschleunigungssensor liefert die Beschleunigung des Gerätes in drei Dimensionen Im Gegensatz zum normalen Beschleunigungssensor ist die Gravita2on bereits rausgerechnet

36 Bewegungssensoren Linearen Beschleunigungssensor verwenden public class LinAccelActivity extends Activity!! implements SensorEventListener {! protected void oncreate(bundle savedinstancestate) {!! super.oncreate(savedinstancestate);!!!! msensormng = (SensorManager) getsystemservice(sensor_service);!! mgravitysensor = msensormng!!!.getdefaultsensor(sensor.type_linear_acceleration);! }! // SensorListener in onresume()/onpause() registrieren/deregistrieren! public void onsensorchanged(sensorevent event) {!! Log.d(TAG, "Linear Acceleration = " + event.values[0] + " " +!!!! event.values[1] + " " + event.values[2]);!!! }! public void onaccuracychanged(sensor sensor, int accuracy) { /*... */ } }

37 Bewegungssensoren Gravita2onssensor erzeugt einen dreidimensionalen Vektor, der die Richtung der Gravita2on angibt Der Vektor ist rela2v zum Geräte- Koordinatensystem Die verwendeten Einheiten sind wie beim Beschleunigungssensor m/s 2

38 Bewegungssensoren Wo liegt der Unterschied zwischen Gravita2ons- und Beschleunigungssensor?

39 Bewegungssensoren Wo liegt der Unterschied zwischen Gravita2ons- und Beschleunigungssensor? Der Beschleunigungssensor misst alle BeschleunigungskräKe, die auf das Geräte wirken Der Gravita2onssensor zeigt nur die Richtung der Gravita2on an

40 Bewegungssensoren Den Gravita2onssensor verwenden public class GravityActivity extends Activity implements SensorEventListener {! private SensorManager msensormng;! private Sensor mgravitysensor;!! protected void oncreate(bundle savedinstancestate) {!! super.oncreate(savedinstancestate);!! msensormng = (SensorManager) getsystemservice(sensor_service);!! mgravitysensor = msensormng.getdefaultsensor(sensor.type_gravity);! }!! // SensorListener in onresume() registrieren und onpause() deregistrieren! public void onsensorchanged(sensorevent event) {!! Log.d(TAG, "Gravity(x,y,z) = " + event.values[0] + " " +!!!! event.values[1] + " " + event.values[2]);! }! public void onaccuracychanged(sensor sensor, int accuracy) { /*... */ } }

41 Bewegungssensoren Gyroskop Das Gyroskop misst die Rota2ons- geschwindigkeit um die Achsen x, y und z Referenz ist das Geräte- KOS Die Rota2on wird in rad/s gemessen... und ist gegen den UZS posi2v

42 Bewegungssensoren Gyroskop verwenden public class GyroActivity extends Activity implements SensorEventListener {! private SensorManager msensormng;! private Sensor mgyrosensor;! protected void oncreate(bundle savedinstancestate) {!! super.oncreate(savedinstancestate);!! msensormng = (SensorManager) getsystemservice(sensor_service);!! mgyrosensor = msensormng.getdefaultsensor(sensor.type_gyroscope);! }! // SensorListener in onresume()/onpause() registrieren/deregistrieren! public void onsensorchanged(sensorevent event) {!! Log.d(TAG, "Gyro(x,y,z) = " + event.values[0] + " "!!!! + event.values[1] + " " + event.values[2]);! }! public void onaccuracychanged(sensor sensor, int accuracy) { /*... */ } }

43 Bewegungssensoren Verwendung von Gyroskopen Segway Balancierung Gestenerkennung, speziell Drehungen Naviga2on: Richtungsänderung Kamera: Bildstabilisator

44 Bewegungssensoren Rota2onsvektor Der Rota2onsvektorsensor erzeugt als Messwert einen 3- dimensionalen Vektor, der die Orien2erung des Gerätes rela2v zum Weltkoordinatensystem angibt Die Vektorelemente sind einheitslos

45 Bewegungssensoren Das Koordinatensystem X: Vektorprodukt von Y x Z, tangen2al zur Erdoberfläche Y: zeigt zum geomagne2schen Nordpol, tangen2al zur Erdoberfläche Z: zeigt in den Himmel, steht senkrecht auf der Erdoberfläche Bildquelle:

46 Bewegungssensoren Rota2onsvektorsensor nutzen public class RotationActivity extends Activity implements SensorEventListener {! private SensorManager msensormanager; private Sensor mrotationsensor; private final float[] mrotationmatrix = new float[16]; } protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // Instanz von SensorManageer und rotation sensor holen msensormanager = (SensorManager)getSystemService(SENSOR_SERVICE); mrotationsensor = msensormanager.getdefaultsensor( Sensor.TYPE_ROTATION_VECTOR); } public void onsensorchanged(sensorevent event) { // Erzeugung einer Rotationsmatrix aus dem Rotationsvektor SensorManager.getRotationMatrixFromVector( mrotationmatrix, event.values); // Rotationsmatrix verwenden, um z. B. einen Würfel zu drehen } public void onaccuracychanged(sensor sensor, int accuracy) { }

47 Bewegungssensoren Rota2onsvektorsensor nutzen siehe Live Präsenta2on

48 Posi<onssensoren

49 Posi<onssensoren Enkernungssensor (Proximity Sensor) misst, wie weit ein Objekt vom mobilen Gerät enkernt ist wird i.d.r. verwendet, um zu messen, wie weit der Kopf vom Telefon enkernt ist gibt die Enkernung in cm an, oder binäre Angaben, wie nah oder fern

50 Posi<onssensoren Enkernungssensor verwenden public class ProximityActivity extends Activity!! implements SensorEventListener {! private SensorManager msensormng;! private Sensor mproxsensor;! public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); msensormng = (SensorManager) getsystemservice(sensor_service); mproxsensor = msensormng.getdefaultsensor(sensor.type_proximity); }!! // SensorEventListener in onresume() und onpause() (de)registrieren!! public void onsensorchanged(sensorevent event) {!! Log.d(TAG, "Proximity: " + event.values[0]);! } }

51 Posi<onssensoren Magnekeldsensor misst die Stärke des Erdmagnekeldes in drei Dimensionen Der Sensor produziert Werte in µt (magne2sche Flussdichte) Normalerweise wird der Sensor nicht direkt verwendet, sondern dient als Basis für SoKwaresensoren

52 Posi<onssensoren Magnekeldsensor verwenden public class MagneticActivity extends Activity!! implements SensorEventListener {! private SensorManager msensormng;! private Sensor mmagneticsensor;! public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); msensormng = (SensorManager) getsystemservice(sensor_service); mmagneticsensor = msensormng.getdefaultsensor(!!! Sensor.TYPE_MAGNETIC_FIELD); }!! // SensorEventListener in onresume() und onpause() (de)registrieren!! public void onsensorchanged(sensorevent event) {!!! Log.d(TAG, "Magnetic Field = " + event.values[0] + " " +!!!! event.values[1] + " " + event.values[2]);! } }

53 Posi<onssensoren Orien2erungssensor... misst die Orien2erung des Gerätes rela2v zum Weltkoordinatensystem SoKwaresensor, der den Magnekeld- Sensor und den Beschleunigungssensor verwendet Messwerte sind Azimuth, Pitch und Roll (Einheit ist )

54 Posi<onssensoren Azimuth (Yaw), Pitch, Roll Bildquelle:

55 Posi<onssensoren Azimuth: Rota2on um die z- Achse Winkel zwischen der y- Achse des Gerätes und magne2schem Nordpol Beispiel: Richtung der y-achse Wert Nord 0 Süd 180 Ost 90 West 270

56 Posi<onssensoren Pitch: Rota2on um die x- Achse Vorwärtsneigung des Gerätes Wertebereich:

57 Posi<onssensoren 0-90 Roll: Rota2on um die y- Achse seitliche Rota2on des Gerätes Wertebereich:

58 Posi<onssensoren Orien2erungssensor verwenden public class OrientationActivity extends Activity!! implements SensorEventListener {! private SensorManager msensormng; private Sensor orientationsensor; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); msensormng = (SensorManager) getsystemservice(sensor_service); orientationsensor = msensormng.getdefaultsensor(sensor.type_orientation); } // Listener in onresume()/onpause() registrieren/deregistrieren public void onsensorchanged(sensorevent event) {!! Log.d(TAG, String.format("Azimuth=%.2f, Pitch=%.2f, Roll=%.2f",!!!! event.values[0], event.values[1], event.values[2])); } public void onaccuracychanged(sensor sensor, int accuracy) { /*... */ } }

59 Posi<onssensoren Seit Android 2.2 ist der Orien2erungssensor deprecated Es sollten daher die SensorManager- Methoden getrotationmatrix() und getorientation() verwendet werden

60 Posi<onssensoren Vorgehensweise: Registrierung eines Listeners für den Beschleunigungs- und Magnekeldsensor SensorEvent- Werte zwischenspeichern getrotationmatrix() mit den gespeicherten Werten aufrufen und Rota2onsmatrix erhalten

61 Posi<onssensoren Vorgehensweise: eigenen Vektor ini2alisieren Vektor mit getorientation() ausrichten Vektorelemente sind im Gegensatz zum Orien2erungssensor in rad und nicht in

62 Posi<onssensoren public class Orientation2Activity extends Activity!! implements SensorEventListener {!! // Zwischenspeicher für Magnetfeldwerte! private float[] mmagneticfield = new float[]{0, 0, 0};! // Zwischenspeicher für Beschleunigungswerte! private float[] macceleration = new float[]{0, 0, 0};!! public void onsensorchanged(sensorevent event) {!! switch (event.sensor.gettype()) {!!! case Sensor.TYPE_ACCELEROMETER: {!!!! // Beschleunigungswerte kopieren!!!! macceleration = event.values.clone(); break;!!! }!!! case Sensor.TYPE_MAGNETIC_FIELD: {!!!! // Magnetfeldwerte kopieren!!!! mmagneticfield = event.values.clone(); break;!!! }!! }!! //... Rotationsmatrix und Orientierungsvektor erzeugen!!! } }

63 Posi<onssensoren public class Orientation2Activity extends Activity!! implements SensorEventListener {!! public void onsensorchanged(sensorevent event) {!! //... Sensorwerte zwischenspeichern!! float[] rotation = new float[9]; // Ziel-Array für Rotationsmatrix!! // Rotationsmatrix erzeugen!! boolean success = SensorManager.getRotationMatrix(!!!! rotation, null, macceleration, mmagneticfield);!! if (success) {!!! float[] vector = new float[3]; // Orientierungsvektor!!! // Vektor aus Rotationsmatrix erzeugen!!! SensorManager.getOrientation(rotation, vector);!!!!!!! Log.d(TAG, String.format("Orientierung: %.2f %.2f %.2f",!!!!! Math.toDegrees(vector[0]),!!!!! Math.toDegrees(vector[1]),!!!!! Math.toDegrees(vector[2])));!! }! } }

64 Umweltsensoren

65 Umweltsensoren Android unterstütz verschiedene Sensoren, mit denen sich physikalische Größen aus der Umwelt messen lassen Temperatur Licht LuKdruck LuKfeuch2gkeit

66 Umweltsensoren Die Registrierung und Deregistrierung von SensorEventListenern erfolgt ebenso wie bei Posi2ons- und Bewegungssensoren Die Messwerte sind im Gegensatz zu Posi2ons- und Bewegungssensoren eindimensional

67 Umweltsensoren Sensorwerte Sensor Eiheit Daten AMBIENT_TEMPERATURE C Lufttemperatur LIGHT lx Lichtstärke PRESSURE mbar Luftdruck RELATIVE_HUMIDITY % Luftfeuchtigkeit

68 GPS und Maps

69 GPS und Maps GPS Informa2onen können über den Loca2onManager ausgelesen werden Um die Standor2nforma2onen nutzen zu können wird die folgende Berech2gung benö2gt <uses-permission android:name=!! "android.permission.access_fine_location" />

70 GPS und Maps Loca2onManager verwenden public class LocationActivity extends Activity {! private LocationManager locationmng;! private LocationProvider gpsprovider;! protected void oncreate(bundle savedinstancestate) {!! super.oncreate(savedinstancestate);!! setcontentview(r.layout.activity_location);!!!! // LocationManger abrufen!! locationmng = (LocationManager) getsystemservice(location_service);!! // Location Provider für GPS holen!! gpsprovider = locationmng.getprovider(locationmanager.gps_provider);!! // Prüfen, ob GPS eingeschaltet ist!! if (! locationmng.isproviderenabled(locationmanager.gps_provider)) {!!! startlocationsettings();!! } else {!!! // Benutzer informieren, dass er GPS einschalten soll!! }! } }

71 GPS und Maps Loca2onListener registrieren public class LocationActivity extends Activity {! private LocationManager locationmng;! private LocationProvider gpsprovider;! protected void oncreate(bundle savedinstancestate) {!! super.oncreate(savedinstancestate);!! setcontentview(r.layout.activity_location);!!!! // LocationManger abrufen, GPSProvider setzen, Verfügbarkeit prüfen!! //...!!!! // Listener für location updates registrieren!! locationmng.requestlocationupdates(locationmanager.gps_provider,!!!! 1, // mimimale Zeitspanne zwischen zwei updates!!!! 1, // mimimale Distanz zwischen zwei updates!!!! new MyLocationListener());! } }

72 GPS und Maps Loca2onListener implemen2eren private class MyLocationListener implements LocationListener {! // Wird aufgerufen, wenn es neue Positionsinformationen public void onlocationchanged(location loc) {!! Log.d(TAG, "Position: " + loc.getlatitude() + " " +!!!!! loc.getlongitude() + " " + loc.getaltitude());! }! // auf Sensoränderungen public void onproviderdisabled(string provider) public void onproviderenabled(string provider) public void onstatuschanged(!!! String provider, int status, Bundle extras) {}!! }

73 GPS und Maps Maps API Die Maps API ermöglicht die Darstellung von Google Maps in der eigenen App Sie wird über die Google APIs bereitgestellt Um die Google APIs zu verwenden, müssen die Projekteinstellungen und das Manifest angepasst werden

74 GPS und Maps Google APIs verwenden

75 GPS und Maps Manifest Anpassung <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="de.htwds.emrolab.mada.sensors" android:versioncode="1" android:versionname="1.0" > <uses-permission!!!!!!!!! android:name="android.permission.access_fine_location" /> <application android:allowbackup="true" <uses-library android:name="com.google.android.maps" />! </application> </manifest>

76 GPS und Maps Die Google API enthält eine MapView, die die eigentliche Map darstellt Um die MapView verwenden zu können wird ein API Key benö2gt Wie der API Key erstellt wird, kann nachgelesen werden unter: hsps://developers.google.com/maps/ documenta2on/android/v1/mapkey

77 GPS und Maps MapView Layout Eintrag <RelativeLayout xmlns:android="..." xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".locationactivity" > <com.google.android.maps.mapview xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:apikey=" --- hier kommt der API Key rein ---" android:clickable="true" > </com.google.android.maps.mapview> </RelativeLayout>

78 GPS und Maps MapView Implemen2erung public class LocationActivity extends MapActivity protected void oncreate(bundle savedinstancestate) {!! super.oncreate(savedinstancestate);!! setcontentview(r.layout.activity_location);!!!! // Referenz auf die MapView holen!! MapView view = (MapView) findviewbyid(r.id.mapview);!! // Zoom Level und andere Eigenschaften setzen!! view.getcontroller().setzoom(12);!! view.getcontroller().setcenter(new GeoPoint( , ));!! // Eigene Overlays hinzufügen!! view.getoverlays().add(new MyOverlay());!! //.. geopoint mit location Informationen aktualisieren! } }

79 GPS und Maps Eigene Overlays private class MyOverlay extends Overlay public void draw(canvas canvas,!! MapView mapview, boolean shadow) {!! super.draw(canvas, mapview, shadow);!!!!!! Point point = new Point();!! mapview.getprojection()!!!.topixels(geopoint, point);!! Paint paint = new Paint();!! paint.setcolor(color.red);!! canvas.drawcircle(point.x, point.y,!!! 20, paint);! } }

80 Literatur I. Mark L. Murphy: The Busy Coder s Guide To Android Development, Version 4.3, 2012 II. Thomas Künneth: Android 3 - Apps entwickeln mit dem Android SDK Galileo Press, 2011 III. sensors/index.html

Android-Apps weitere Möglichkeiten

Android-Apps weitere Möglichkeiten Android-Apps weitere Möglichkeiten 2/20 weitere Möglichkeiten Speichern in der Sandbox OnTouchListener Senden und Empfangen von SMS Anbindung von Datenbanken Der Beschleunigungssensor Übung 3/20 Speichern

Mehr

Software-Entwicklung für Android und ios

Software-Entwicklung für Android und ios Software-Entwicklung für Android und ios Teil 5: Sensoren Typen von Sensoren Zweck Beispiele Hardware-Sensoren Ermitteln tatsächliche Werte Accelerometer, Magnetometer, Gyroskop, Barometer, Näherungssensor,

Mehr

3. Erfassung und Verarbeitung von Sensordaten

3. Erfassung und Verarbeitung von Sensordaten 3. Erfassung und Verarbeitung von Sensordaten Lernziele 3. Erfassung und Verarbeitung von Sensordaten Lernziele: Typische in mobilen Geräten enthaltene Sensorarten kennen, Daten von solchen Sensoren empfangen

Mehr

Android Apps. Mentoring SS 16. Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo 03.06.2016

Android Apps. Mentoring SS 16. Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo 03.06.2016 Android Apps Mentoring SS 16 Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo 03.06.2016 Wichtige Dateien MainActivity.java activity_main.xml AndroidManifest.xml Die Dateien MainActivity.java,

Mehr

Einführung in die Android App-Entwicklung. Patrick Treyer und Jannis Pinter

Einführung in die Android App-Entwicklung. Patrick Treyer und Jannis Pinter Einführung in die Android App-Entwicklung Patrick Treyer und Jannis Pinter Agenda Was ist Android? Android Versionen Layout, Strings und das Android Manifest Activities, Intents und Services Entwicklungsumgebung

Mehr

Mobile Systeme Android 07.04.2011

Mobile Systeme Android 07.04.2011 Mobile Systeme Android 07.04.2011 Android Plattform/Betriebssystem für mobile Endgeräte wie z.b. Smartphones Basiert auf dem Linux Kernel Bis auf grundlegende Prozesse werden alle Anwenden mithilfe einer

Mehr

Android-Geräte Programmieren 3. Sensoren. Stefan Rothe

Android-Geräte Programmieren 3. Sensoren. Stefan Rothe Android-Geräte Programmieren 3. Sensoren Stefan Rothe 2014 01 28 Rechtliche Hinweise Dieses Werk von Thomas Jampen und Stefan Rothe steht unter einer Creative Commons Attribution-Non- Commercial-ShareAlike-Lizenz.

Mehr

Android GUI Entwicklung

Android GUI Entwicklung Android GUI Entwicklung Aktuelle Technologien verteilter Java Anwendungen Referent: Stefan Haupt Hello World! Agenda Einführung & Motivation Android Applikationen UI-Komponenten Events Ressourcen Kommunikation

Mehr

Naviki GPS-Anwendungsentwicklung für Mobiltelefone www.naviki.org

Naviki GPS-Anwendungsentwicklung für Mobiltelefone www.naviki.org Naviki GPS-Anwendungsentwicklung für Mobiltelefone www.naviki.org Fachhochschule Münster Labor für Software Engineering luzar@fh-muenster.de www.naviki.org 1 Naviki die Idee www.naviki.org 2 Wie funktioniert

Mehr

2. Erfassung und Verarbeitung von Sensordaten

2. Erfassung und Verarbeitung von Sensordaten 2. Erfassung und Verarbeitung von Sensordaten Lernziele 2. Erfassung und Verarbeitung von Sensordaten Lernziele: Typische in mobilen Geräten enthaltene Sensorarten kennen, Daten von solchen Sensoren empfangen

Mehr

Mobile App Development. - Alarm -

Mobile App Development. - Alarm - Mobile App Development - Alarm - Inhalt Alarme AlarmManger Wake locks 2 Alarm Alarm Oft ist es notwendig eine App zu starten, auch wenn der Benutzer nicht mit ihr interagiert Starten von Activities zu

Mehr

Mobile App Development. - Grafische Oberflächen 2 -

Mobile App Development. - Grafische Oberflächen 2 - Mobile App Development - Grafische Oberflächen 2 - Inhalt Dimensionen Layouting Menüs Activities starten Übung Dimensionen Dimensionen Analog zu Strings und Farben können Dimensionen definiert werden Dimensionen

Mehr

Android. 2 24.09.2013 Mobile Systeme - Android

Android. 2 24.09.2013 Mobile Systeme - Android Android 24.09.2013 Android Plattform/Betriebssystem für mobile Endgeräte wie z.b. Smartphones Basiert auf dem Linux Kernel Bis auf grundlegende Prozesse werden alle Anwenden mithilfe einer speziellen JVM

Mehr

Mobile App Development. - Activities -

Mobile App Development. - Activities - Mobile App Development - Activities - Inhalt Activity Lifecycle Erstellen Starten & Stoppen Spezielle Activities Ac3vi3es Ac3vi3es Definition Eine Aktivität repräsentiert eine Interaktion mit einem Benutzer

Mehr

Google Android API. User Interface. Eine knappe Einführung

Google Android API. User Interface. Eine knappe Einführung Google Android API User Interface Eine knappe Einführung Google Android API User Interface Designelement Wofür Klasse/Package View Basisklasse für alle Designelemente public class android.view.view Viewgroup

Mehr

Einführung in Android

Einführung in Android Einführung in Android FH Gießen Friedberg 12. Oktober 2010 Inhalt Historie / Prognosen / Trends Grundlagen Entwicklungsumgebung Standardbeispiel Erweitertes Beispiel Übung / Quellen 2 Grundlagen - Historie

Mehr

Mobile App Development. - Einführung -

Mobile App Development. - Einführung - Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum ca. 10 Wochen

Mehr

JOGGA Der Jogging-Companion

JOGGA Der Jogging-Companion JOGGA Der Jogging-Companion GLIEDERUNG: (1) Idee (2) Funktionen (3) Codebeispiele IDEE: Jeder Jogger kennt das Problem: Man rafft sich auf um eine Runde zu laufen, schwitzt während dessen ohne Ende und

Mehr

Überleben im Funkloch

Überleben im Funkloch Überleben im Funkloch Offlinefähige Apps für Android entwickeln Christian Janz (@c_janz ) christian.janz@bridging-it.de Christian Janz Consultant im Bereich Softwareentwicklung Java/JEE bei Bridging IT

Mehr

Accounts und Kontakte in Android

Accounts und Kontakte in Android Accounts und Kontakte in Android Die letzten Wochen habe ich daran gearbeitet, die Kontakte der AddressTable von Leonardo und mir ins Android Adressbuch zu bringen. Dazu habe ich die AddressManagement-Applikation

Mehr

Übungen zur Android Entwicklung

Übungen zur Android Entwicklung Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen

Mehr

Entwickeln für Android OS

Entwickeln für Android OS Entwickeln für Android OS Am Beispiel der WAPLA Wissenschaftliche Arbeitstechniken und Präsentation Lern Applikation Christian Kain Kevin Kain Wolfgang Kremser Gregor Bankhamer Warum Android? Verbreitung

Mehr

Tutorial. Programmierung einer Android-Applikation. Teil 1

Tutorial. Programmierung einer Android-Applikation. Teil 1 Tutorial Programmierung einer Android-Applikation Teil 1 Autor: Oliver Matle Datum: März 2014, Version 1.0 Autor: Oliver Matle, www.matletarium.de Seite 1 von 28 Inhaltsverzeichnis Kapitel 1 Einleitung...3

Mehr

14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt

14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt 14.4.2016 Technische Hochschule Georg Agricola WORKSHOP TEIL 3 IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt Inhaltsverzeichnis 1. Kurzfassung zur Projekterstellung... 2 2. Morse-Tabelle...

Mehr

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM ÜBERSICHT Android Android Dalvik Virtuelle Maschine Android und Desktop Applikationen Android Entwicklung Tools R Activity

Mehr

Einführung in Android. 9. Dezember 2014

Einführung in Android. 9. Dezember 2014 Einführung in Android 9. Dezember 2014 Was ist Android? Software für mobile Geräte: Betriebssystem Middleware Kernanwendungen Android SDK: Tools und APIs zur Entwicklung von Anwendungen auf der Android-Plattform

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Informatik Sommercamp 2012

Informatik Sommercamp 2012 Informatik Sommercamp 2012 App Entwicklung mit dem Android SDK Dominik W., Stefan S., Jan L. Fakultät für Informatik und Mathematik Universität Passau 23.07.2012 Gliederung 1 2 3 4 Warum? an Schule und

Mehr

Android + Arduino Hardware steuern mit Android. Entwicklertag Karlsruhe, 09.05.2012 Sebastian Wastl

Android + Arduino Hardware steuern mit Android. Entwicklertag Karlsruhe, 09.05.2012 Sebastian Wastl Android + Arduino Hardware steuern mit Android Entwicklertag Karlsruhe, 09.05.2012 Sebastian Wastl Arduino Opensourceprojekt Auf Basis eines 8-Bit Mikrocontroller (ATMEL ATmega) Modular aufgebaut Erweiterbar

Mehr

Thomas Künneth. Android 3. Apps entwickeln mit dem Android SDK. Galileo Press

Thomas Künneth. Android 3. Apps entwickeln mit dem Android SDK. Galileo Press Thomas Künneth Android 3 Apps entwickeln mit dem Android SDK Galileo Press Vorwort 13 TEIL I Grundlagen 1.1 Entstehung 19 1.1.1 Die Open Handset Alliance, 20 1.1.2 Android Ine 20 1.1.3 Evolution einer

Mehr

NFC Near Field Communication 30.04.2013

NFC Near Field Communication 30.04.2013 NFC Near Field Communication 30.04.2013 NFC Near Field Communication Standard für kontaktlose Kommunikation auf Basis von RFID (radiofrequency identification) Fast Verschiedene RFID-Standards im 13,56

Mehr

1. Erfassung und Verarbeitung von Sensordaten

1. Erfassung und Verarbeitung von Sensordaten 1. Erfassung und Verarbeitung von Sensordaten Lernziele 1. Erfassung und Verarbeitung von Sensordaten Lernziele: Typische in mobilen Geräten enthaltene Sensorarten kennen, Daten von solchen Sensoren empfangen

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Intents (Wiederholung I) Ein Intent erklärt die Absicht eine bestimmte Activity auszuführen Explizit durch Angabe einer

Mehr

Projektdokumentation. Erweiterte Realität am Fallbeispiel eines Smartphones

Projektdokumentation. Erweiterte Realität am Fallbeispiel eines Smartphones Projektdokumentation Hochschule Fulda Wintersemester 2010/2011 Inhaltsverzeichnis 1. Einleitung 2 2. Vorbereitung 3 2.1 Augmented Reality 3 2.3 Einarbeitung in die Entwicklungsumgebung von Android 5 5

Mehr

Kartendarstellungen mit Google Maps

Kartendarstellungen mit Google Maps Kartendarstellungen mit Google Maps Package com.google.android.maps, ist nicht Bestandteil von Android! Voraussetzungen für die Nutzung: Verfügbarkeit auf dem Gerät installierter API-Key Eintrag der Maps-Bibliothek

Mehr

Inhaltsverzeichnis. Apps für Android entwickeln

Inhaltsverzeichnis. Apps für Android entwickeln Inhaltsverzeichnis zu Apps für Android entwickeln von Jan Tittel und Jochen Baumann ISBN (Buch): 978-3-446-43191-1 ISBN (E-Book): 978-3-446-43315-1 Weitere Informationen und Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-43191-1

Mehr

Android Entwicklung. MobileDevCamp Munich 31.10.2009 Markus Junginger. greenrobot_de

Android Entwicklung. MobileDevCamp Munich 31.10.2009 Markus Junginger. greenrobot_de Android Entwicklung MobileDevCamp Munich 31.10.2009 Markus Junginger greenrobot_de Preis Scanner Apps Über mich Erste Android App: 2007 Erstes Mobile Projekt: 2001 10 Jahre Java & Internet Erfahrung 20

Mehr

Einführung in die Einführung in Android Anwendungsentwicklung

Einführung in die Einführung in Android Anwendungsentwicklung Einführung in die Einführung in Android Anwendungsentwicklung FH Gießen Friedberg 27. Oktober 2010 Inhalt Was bisher geschah / Prognosen Grundlagen Entwicklungsumgebung Beispiel: Notensammler Intents und

Mehr

Android Settings Dialog Android Kurs Stufe 2 (Orangegurt)

Android Settings Dialog Android Kurs Stufe 2 (Orangegurt) Android Kurs Stufe 2 (Orangegurt) Inhaltsverzeichnis 1 Settings Dialog... 2 2 Der Grundgedanke... 2 3 Das erste Beispiel... 3 3.1 Das Layout der MainActivity... 3 3.2 Die Settings Activity... 3 3.3 Das

Mehr

SENSOREN MOBILER DEVICES

SENSOREN MOBILER DEVICES SENSOREN MOBILER DEVICES Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung AM1 Hauptseminar: Re-usable Content in 3D und Simulationssystemen SS 2013 Prof. Manfred Thaller

Mehr

1 Der Einstieg in Java für Android

1 Der Einstieg in Java für Android 1 1 Der Einstieg in Java für Android Diese Ergänzung zum Buch Programmieren in Java will Ihnen dabei helfen, erste Programme für Smartphones der Android Plattform von Google zu erstellen und diese Programme

Mehr

Mobile App Development. - Einführung -

Mobile App Development. - Einführung - Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum 10 Wochen

Mehr

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

Android-Apps ein komplexes Beispiel (Google-Maps und GPS-Daten, Listen, SD-Kartenzugriff, Activities mit Rückgabewerten und Web-Browser/Internet) Android-Apps ein komplexes Beispiel (Google-Maps und GPS-Daten, Listen, SD-Kartenzugriff, Activities mit Rückgabewerten und Web-Browser/Internet) 2/42 Android Apps: ein komplexes Beispiel Gliederung Vorstellung

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Codegenerierung am Beispiel des PIMAR-Projekts PhoneBook. 14. Januar 2015

Codegenerierung am Beispiel des PIMAR-Projekts PhoneBook. 14. Januar 2015 Codegenerierung am Beispiel des PIMAR-Projekts PhoneBook 14. Januar 2015 Überblick Modell- und Codegenerierung (M2C, C2M) Modellinterpretation vs. Modellübersetzung PIMAR Code-Generierung am Beispiel des

Mehr

Smartphone im Physikunterrichts: Programm des Blockkurses

Smartphone im Physikunterrichts: Programm des Blockkurses Smartphone im Physikunterrichts: Programm des Blockkurses Smartphones und Tablets gehören inzwischen zum Alltag vieler Schüler. Es liegt daher nahe, wichtige Bestandteile der Smartphones zu besprechen

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

3. Persistenz und Datenbanken Content Providers. Content Providers. Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen

3. Persistenz und Datenbanken Content Providers. Content Providers. Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen Content Providers Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen Entkopplung der Daten-Schicht von der Anwendungsschicht Zugriff erfolgt URI-basiert Kontrolle der Zugriffsrechte eingebaute

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Mobile App Development

Mobile App Development Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum 10 Wochen

Mehr

Android Entwicklung. App Entwickler Konferenz 2010 Bonn, 17. November Markus Junginger. Twitter: #app2010 @greenrobot_de

Android Entwicklung. App Entwickler Konferenz 2010 Bonn, 17. November Markus Junginger. Twitter: #app2010 @greenrobot_de Android Entwicklung App Entwickler Konferenz 2010 Bonn, 17. November Markus Junginger Twitter: #app2010 @greenrobot_de Über mich Markus Junginger, greenrobot 2007: Erste Android App 2001: Erstes Mobile

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

Mehr

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Java I Vorlesung 11 Graphische Oberflächen mit Swing Java I Vorlesung 11 Graphische Oberflächen mit Swing 5.7.2004 Swing Komponenten Layout-Manager Events Swing und Threads Die Java-Plattform 2 Die Java-Plattform 3 "Hello World" in Swing HelloWorldS.java

Mehr

Seminar Multimediale Werkzeuge Sommersemester 2011

Seminar Multimediale Werkzeuge Sommersemester 2011 Seminar Multimediale Werkzeuge Sommersemester 2011 Dipl.-Ing. Marco Niehaus marco.niehaus@tu-ilmenau.de 09.06.2011 Page 1 Android Development - Installation Java SDK wird benötigt (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

Dr. Holger Eichelberger

Dr. Holger Eichelberger SchülerInnen-Uni 2015 Dr. Holger Eichelberger eichelberger@sse.uni-hildesheim.de Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App?

Mehr

JAVA - Methoden

JAVA - Methoden Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

2. Hintergrundverarbeitung in Android: Services und Notifications

2. Hintergrundverarbeitung in Android: Services und Notifications 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services

Mehr

APPS FÜR ANDROID ENTWICKELN

APPS FÜR ANDROID ENTWICKELN jan TITTEL jochen BAUMANN ELL N H C S IEG T S N I E APPS FÜR ANDROID ENTWICKELN AM BEISPIEL EINER REALEN APP Inhalt 1 Einführung.............................................. 1 1.1 Die Android-Plattform.................................................

Mehr

Mobile App Development - Multitasking -

Mobile App Development - Multitasking - Mobile App Development - Multitasking - Inhalt Threading Services Service Lifecycle Gestartete Services Gebundene Services Threading Threading Standard Java Threads Thread Runnable volatile & synchronized

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

Android Applikation zur Information von Patienten am Klinikum Großhadern. Bachelorarbeit. Andreas Maximilian Bachmayer

Android Applikation zur Information von Patienten am Klinikum Großhadern. Bachelorarbeit. Andreas Maximilian Bachmayer Android Applikation zur Information von Patienten am Klinikum Großhadern Bachelorarbeit von Andreas Maximilian Bachmayer München Hochschule München Fakultät Feinwerk- und Mikrotechnik, Physikalische Technik

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Unterlagen zur Veranstaltung Einführung in die Objektorientierte Programmierung Mit Processing Alexis Engelke Sommer 2012 Alexis Engelke Inhalt Level 1: Geometrie Hintergrundfarben Punkte, Linien und deren

Mehr

Supercharge. Your UI

Supercharge. Your UI Supercharge Your UI Dominik Helleberg Mobile Development Android ingress Level 6 dominik-helleberg.de/+ Jonas Gehring Mobile Development Android JavaScript https://github.com/jjoe64 http://www.jjoe64.com

Mehr

Android-Apps Google-Maps v2

Android-Apps Google-Maps v2 Android-Apps Google-Maps v2 2/20 Die einfachste Map-App entwickeln Achtung! Die seit März 2013 alleinig gültige Google Maps Android API v2 ist nicht kompatible mit der Vorgängerversion. Auch die alten

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

Android-Geräte Programmieren 4. Hinweise zur Android-Programmierung. Stefan Rothe

Android-Geräte Programmieren 4. Hinweise zur Android-Programmierung. Stefan Rothe Android-Geräte Programmieren 4. Hinweise zur Android-Programmierung Stefan Rothe 2014 01 29 Rechtliche Hinweise Dieses Werk von Thomas Jampen und Stefan Rothe steht unter einer Creative Commons Attribution-Non-

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E

Mehr

2. GUI-Programmierung für mobile Geräte

2. GUI-Programmierung für mobile Geräte 2. GUI-Programmierung für mobile Geräte Lernziele 2. GUI-Programmierung für mobile Geräte Themen/Lernziele: Einführung Lebenszyklus einer Android-Anwendung Beispiele GUI-Elemente Einbindung externer Ressourcen

Mehr

Java Einführung Abstrakte Klassen und Interfaces

Java Einführung Abstrakte Klassen und Interfaces Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

1 Ein erstes Beispiel

1 Ein erstes Beispiel 3 1 Ein erstes Beispiel In diesem Abschnitt werden wir ein erstes Android-Programm erstellen. Es dient dem schnellen Einstieg in die Programmierung von Android. Dabei handelt es sich um ein Programm zur

Mehr

2. GUI-Programmierung für mobile Geräte

2. GUI-Programmierung für mobile Geräte 2. GUI-Programmierung für mobile Geräte Lernziele 2. GUI-Programmierung für mobile Geräte Themen/Lernziele: Einführung Lebenszyklus einer Android-Anwendung Beispiele GUI-Elemente Einbindung externer Ressourcen

Mehr

Software Engineering II

Software Engineering II Software Engineering II Wintersemester 12/13 Fachgebiet Software Engineering Installation der MWE Plugins Von der Juno Update Site installieren (falls noch nicht vorhanden): MWE SDK Xpand SDK 2 TFD Projekt

Mehr

Jürgen Bayer. MDI-Anwendungen in C#

Jürgen Bayer. MDI-Anwendungen in C# Jürgen Bayer MDI-Anwendungen in C# Inhaltsverzeichnis 1 Grundlagen 2 1.1 Einrichten der Formulare 2 1.2 Öffnen von MDI-Childformularen 3 2 Menüs 4 2.1 Erstellen eines Menüs 4 2.2 Programmierung der Menüpunkte

Mehr

von Anja Austermann Drag and Drop

von Anja Austermann Drag and Drop von Anja Austermann Drag and Drop »Drag and Drop«ist die Bezeichnung für den Datentransfer zwischen unterschiedlichen Anwendungen mit grafischer Benutzeroberfläche. Zur Zeit arbeitet Drag and Drop in Java

Mehr

Einführung in die Cross-Plattform Entwicklung Zugriff auf Sensoren mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Zugriff auf Sensoren mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Zugriff auf Sensoren mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Sensoren vertraut. Es wird

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Beispiel droidremoteppt

Beispiel droidremoteppt Arthur Zaczek Nov 2014 1 Beispiel droidremoteppt 1.1 Beschreibung Powerpoint soll mit ein Android Handy über Bluetooth gesteuert werden Folien wechseln (Vor/Zurück) Folien am Handy darstellen Am Handy

Mehr

Sensoren in Apple Geräten. Minh Khoi Nguyen! Tobias Schaarschmidt! SG: MD13w1

Sensoren in Apple Geräten. Minh Khoi Nguyen! Tobias Schaarschmidt! SG: MD13w1 Sensoren in Apple Geräten Minh Khoi Nguyen Tobias Schaarschmidt SG: MD13w1 Inhalt 1. Allgemein zu iphone & ipad 2. Generationen 3. Sensoren 3.1. Arten 3.2. Funktion 1. Allgemein zu iphone - Erscheinungsjahr:

Mehr

Studentische Lösung zum Übungsblatt Nr. 7

Studentische Lösung zum Übungsblatt Nr. 7 Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int

Mehr

Mobile App Development. - Grafische Oberflächen -

Mobile App Development. - Grafische Oberflächen - Mobile App Development - Grafische Oberflächen - Inhalt Ressourcen Allgemeines Views Layouting Ressourcen Android Ressourcen Ressourcen sind Dateien und Objekte, wie Layouts, Bilder, Farben und IDs Zu

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Mobile Informationssysteme II

Mobile Informationssysteme II Mobile Informationssysteme II Peter Becker Hochschule Bonn-Rhein-Sieg Fachbereich Informatik peter.becker@h-brs.de Vorlesung Wintersemester 2010/11 Allgemeines zur Vorlesung Vorbemerkungen Homepage zur

Mehr

Das Model View Controller (MVC) Konzept

Das Model View Controller (MVC) Konzept Das Model View Controller (MVC) Konzept Ziel: Erhöhung der Flexibilität und Reduktion der Komplexität von GUI-Programmen durch Standard- Struktur (MVC-Pattern). Geht zurück auf Smalltalk. View 1 View 2

Mehr

Apps Programmierung von Android-Smartphones

Apps Programmierung von Android-Smartphones Apps Programmierung von Android-Smartphones 2/14 Geplantes Tagesprogramm Vormittag: Überblick / Erwartungen Warum Android? Grundlagen ggf. gemeinsame Installation ggf. Vergleich Delphi - java ein einfaches

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

BMW Connected für Android

BMW Connected für Android BMW Connected für Android Mobile Forum Stuttgart 2013 17.05.2013 Matthias Habermann iteratec GmbH iteratec Unternehmenskennzahlen Geschäftsführung Gegründet Niederlassungen Umsatz 2012 Mitarbeiter 05/2013

Mehr

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel 2.6 Managed Code, Angepasste Java

Mehr

Android Theading Android Kurs Stufe 2 (Orangegurt)

Android Theading Android Kurs Stufe 2 (Orangegurt) Android Kurs Stufe 2 (Orangegurt) Inhaltsverzeichnis 1 Threading... 2 2 Umzusetzende Funktionalität... 3 3 Lösung mit eigenem Thread... 4 3.1 Die einfache Thread Lösung... 4 3.2 Thread Lösung mit eigener

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

How To Einbinden von Kartendiensten in eine Java Applikation mit Hilfe des JXMapKit

How To Einbinden von Kartendiensten in eine Java Applikation mit Hilfe des JXMapKit How To Einbinden von Kartendiensten in eine Java Applikation mit Hilfe des JXMapKit Einleitung Zunächst sollte man sich mit dem SwingX-WS Projekt von SwingLabs 1 vertraut machen. Dieses bietet viele nützliche

Mehr

App Entwicklung für Android Devices

App Entwicklung für Android Devices App Entwicklung Wahlpflichtkurs: Dozent: Referent: Fortgeschrittene Programmierung in Java Prof. Dr. Klinker Sebastian Fox 30.10.2011, Seite 1 Praktische Anwendung von Java Programmierung Java Applets

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr