Software-Entwicklung für Android und ios



Ähnliche Dokumente
SENSOREN MOBILER DEVICES

3. Erfassung und Verarbeitung von Sensordaten

Android-Apps weitere Möglichkeiten

Naviki GPS-Anwendungsentwicklung für Mobiltelefone

Mobile App Development - Sensoren -

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

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

Auszug aus JAX-WS Folien

Objective-C CheatSheet

Überleben im Funkloch

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

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Lokalisierungstechnologien

Wichtige Hinweise. Seite 2. Seite 6. Sie verwenden ein iphone oder ipad mit dem Betriebssystem ios?

Webfauna ios. Erhältliche Versionen ios Version 7 und neuer. Optimiert für iphone 5.

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Startanleitung Zipabox + Geräte

iphone Push bei den VZ Netzwerken

KONFIGURATION OUTLOOK ANYWHERE

QUECHUA PHONE 5 DAS ERSTE MOUNTAINPROOF SMARTPHONE. Gebrauchsanleitung Android. Schlagfest Dichtigkeit Autonomie Apps die für das Wandern

Teil I Augmented Learning - Vortragender: Krischan Udelhoven. Teil II Android - Vortragender: Folker Hoffmann

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

Objektorientierte Programmierung

Java: Vererbung. Teil 3: super()

JOGGA Der Jogging-Companion

2012 Microsoft Corporation. Alle Rechte vorbehalten. Microsoft Student Partners

Die Camping-App mit moderner Bluetooth Beacon Technologie

Die Museums-App mit moderner Bluetooth Beacon Technologie

Installations- und Bedienungsanleitung CrontoSign Swiss

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

Schadendaten via GDV an die Nürnberger übertragen

Bewusster Umgang mit Smartphones

TechNote: Exchange Journaling aktivieren

Die Magnetkraft wirkt nur auf bestimmt Stoffe, nämlich Eisen, Nickel und Cobalt. Auf welche Stoffe wirkt die Magnetkraft?

Das Magnetfeld der Erde. Stephen Kimbrough Damjan Štrus Corina Toma

Unser XMPP Messenger in Android

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

Argo 2.0 Software Upgrade

D Installationsanweisung ecocloud Smartphone-App für Art. Nr

Webfauna Android. Erhältliche Versionen Android Version und neuer. Herunterladen Erhältlich im Play Sotre für Android.

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Einrichtung des WLANs so funktioniert s // DHBW Mosbach / Campus Bad Mergentheim / IT Service Center

Um DynDNS zu konfigurieren, muss ausschließlich folgendes Menü konfiguriert werden:

Fahrzeugortungssysteme. Ihre Fahrzeuge immer vor Augen

Consulting Development Design

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

BlackBerry Internet Service Einrichtung. auf

SharePoint 2013 Mobile Access

BitDefender Client Security Kurzanleitung

Tutorial zum CommSy-Portal des Universitätskollegs

2. Erfassung und Verarbeitung von Sensordaten

Der Weg zur eigenen App

Leitfaden für die ersten Schritte im INIT-eCampus. mailto:

Das Model View Controller (MVC) Konzept

INTERNETZUGANG UND DATENBANKEN IM ZRS

Mediadaten KINO&CO Netzwerk

Alles auf BlackBerry Internet Service Einrichtung

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Popup Blocker/Sicherheitseinstellungen

Das folgende Dokument enthält eine Kurzanleitung zur Programmierung von LOG GT-3 s mit Hilfe der Seba Data View (SDV) Software:


Prof. Dr. Uwe Schmidt. 21. August Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)

BMW Connected für Android

Fernzugang Uniklinikum über VMware View

Beispiel droidremoteppt

Algorithmen und Datenstrukturen

Mobile-Szenario in der Integrationskomponente einrichten

Exchange Konto via ActiveSync am iphone einrichten

IT- Wir machen das! Leistungskatalog. M3B Service GmbH Alter Sportplatz Lake Schmallenberg

ZPlan.mobile. professionell planen. für iphone, ipad, Android Smartphone und -Tablets. Markt Management 2011 (Michael Berg und Patrick Jentes)

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Kurze Anleitung zum Guthaben-Aufladen bei.

Die Sterne als Kalender und Uhr verwenden

mmone Internet Installation Windows XP

Anleitung zur Aktivierung von JavaScript und Pop-Ups

Anleitung zur Datensicherung und -rücksicherung in der VR-NetWorld Software

USB DISK ANSCHLUSS WAHLTASTER. Vorteile dieses USB Interfaces:

1. Die Maße für ihren Vorbaurollladen müssen von außen genommen werden.

Übung: Verwendung von Java-Threads

Programmieren in Java

T3 Map Location. Den eigenen Standort mittels Google Maps auf TYPO3 WebSites anzeigen - inklusive Routenplaner. TYPO3 Modul für Google Maps

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

united hoster GmbH Preis- und Leistungsverzeichnis Support

Praktikum ios-entwicklung

Innere Klassen in Java

1 Belastung. 1.1 Standortbestimmung 1.2 Belastungsvorhersage 1.3 Favoriten

Online Messe Der Kontowecker

SAP NetWeaver Gateway. 2013

Grundlagen der Programmierung APPLETS

Smart Home. Quickstart User Guide

Karten-Freischaltung mit dem UNLOCK MANAGER

Das tgm stellt virtuelle Desktops zur Verfügung. Um diese nutzen zu können, gehen Sie bitte wie folgt vor:

Technische Dokumentation SilentStatistikTool

Design Patterns 2. Model-View-Controller in der Praxis

Integration der ZigBee Sensoren von Pikkerton in die AKCess Pro securityprobe Alarmmeldesysteme

Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals

Online-Banking aber sicher.

SCHAU.AUF.FELDKIRCH.AT

Benutzung der LS-Miniscanner

NODELOCKED LIZENZ generieren (ab ST4)

Transkript:

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, Lichtsensor, Thermometer Virtuelle Sensoren Kombinieren verschiedene Sensordaten Erdanziehung, Lineare Beschleunigung, Rotationsvektor, Lage 2

Magnetometer Misst: Magnetfeld der Erde Einheit: mikrotesla Einsatzmöglichkeiten: Kompass (magnetischer Nordpol) Kombination mit GPS (geographischer Nordpol) 3

Accelerometer Misst: Achsiale Beschleunigung des Gerätes Einheit: ms/^2 (inkl. G) Einsatzmöglichkeiten: Bewegung des Gerätes erkennen http://www.engineerguy.com/elements/videos/video-accelerometer.htm 4

Gyroskop Misst: Radiale Beschleunigung des Gerätes Einheit: rad/s Einsatzmöglichkeiten: Rotation des Gerätes erkennen Gut mit anderen Sensoren kombinierbar z.b. Accelerometer zur Lagebestimmung 5

Lichtsensor Misst: Lichtstärke Einheit: Lux Einsatzmöglichkeiten: Adaptive Bildschirmhelligkeit -> Senkung des Stromverbrauchs 6

Näherungssensor Misst: Entfernung des Gerätes zu Objekten Einheit: cm/inch oder binär Einsatzmöglichkeiten: Deaktivierung der Touchfunktion, wenn Gerät am Ohr Diverse Varianten (optisch, infrarot, ultraschall), meist in Kombination mit Lichtsensor 7

GPS Global Positioning System Ermittelt Position des Gerätes auf der Erde in Längengrad und Breitengrad Arbeitet mit einem Netzwerk aus Satelliten Wird in Smartphones häufig in Kombination mit anderen Geräten verwendet Magnetometer (Kompass) Barometer (Höhe) GSM (grobe Ortung) WiFi (genauere Ortung) 8

Sensoren unter Android Viele Geräte haben viele unterschiedliche Sensoren (siehe vorherige Folien) Verwaltung übernimmt der sog. SensorManager Auslesen der Sensoren via private void listsensors() { List<Sensor> devicesensors = sensormanager.getsensorlist(sensor.type_all); for (Sensor sensor : devicesensors) { Log.d("MySensor", sensor.tostring()); Sensoren referenzieren Sensor gyroscope = sensormanager.getdefaultsensor(sensor.type_gyroscope); 9

Auslesen von Sensordaten @Override protected void onresume() { super.onresume(); sensormanager.registerlistener(this, gyroscope, SensorManager.SENSOR_DELAY_NORMAL); @Override protected void onpause() { super.onpause(); sensormanager.unregisterlistener(this); Start des Listeners @Override public void onsensorchanged(sensorevent event) { Log.d("MySensors", event.values[0] + ""); //data in event depends on sensor type, see SensorEvent Stop des Listeners Auslesen der Daten 10

Links Weiterführende Informationen http://developer.android.com/guide/topics/sensors/sensors_overview.html http://developer.android.com/reference/android/hardware/sensorevent.html 11

GPS unter Android LocationManager locationmanager = (LocationManager) this.getsystemservice(context.location_service); LocationListener locationlistener = new LocationListener() { public void onlocationchanged(location location) { // do something with the position public void onstatuschanged(string provider, int status, Bundle extras) { public void onproviderenabled(string provider) { public void onproviderdisabled(string provider) { ; locationmanager.requestlocationupdates(locationmanager.network_provider, 0, 0, locationlistener); ACHTUNG: Dafür werden sog. Permission benötigt ( android.permission.access_fine_location / android.permission.access_coarse_location). Schauen Sie sich hierzu das AndroidManifest.xml in Eclipse an. 12

iphone Bewegungsensoren Klasse CMMotionManager (Teil des CoreMotion-Frameworks) Auslesen der Inhalte auf 2 Arten möglich Periodisch via Polling -> Starten eines Timers, der regelmäßig die Werte ausliest + Sehr einfach - Blockiert CPU / UI [NSTimer scheduledtimerwithtimeinterval:0.1 target:self selector:@selector(methodenname) userinfo:nil repeats:yes]; Mit Queues und Blockaufrufen + Asynchron - Für Anfänger zunächst unüberschaubar 13

iphone Näherungssensor Arbeitet mit sog. Notifications Siehe http://iosdevelopertips.com/device/using-the-proximity-sensor.html für Beispiel 14

iphone GPS Arbeitet mit sog. Delegate-Pattern Grob: Definition eines Interfaces (protocol), das über Events informiert Definition des protocol kann in der API nachgeschlagen werden - CLLocationManagerDelegate Nutzt Klasse CLLocationManager (Teil des CoreLocation-Frameworks) LocationManger kann Heading (Magnetometer) und GPS-Koordinaten zurückgeben 15

CLLocationManager @interface ViewController () @property (nonatomic, strong) CLLocationManager *locationmanager; @end @implementation ViewController - (void)viewdidload { [super viewdidload];! self.locationmanager = [[CLLocationManager alloc] init]; self.locationmanager.delegate = self; [self.locationmanager startupdatinglocation]; // position [self.locationmanager startupdatingheading]; // heading // Implement some methods of the CCLocationManagerDelegate protocol - (void)locationmanager:(cllocationmanager *)manager didupdatelocations:(nsarray *)locations { CLLocation *currentlocation = [locations objectatindex:0]; NSLog(@"Long: %f, Lat: %f", currentlocation.coordinate.longitude, currentlocation.coordinate.latitude); - (void)locationmanager:(cllocationmanager *)manager didupdateheading:(clheading *)newheading { NSLog(@"Current heading: %f", newheading.trueheading); @end 16

Und nun die Übungsaufgabe... 17