Android in der Industrie Jörg Pleumann Head of Android Development Noser Engineering AG Berner Technologie-Impulse 08.09.2011
Agenda Was ist Android? Software Hardware Industrielle Projekte Fazit
Einleitung (I) Android Kompletter Software-Stack (nicht nur) für Mobiltelefone Führende SmartphonePlattform Open Source Open Handset Alliance Google, HTC, T-Mobile Noser Engineering
Einleitung (II) Open Source GNU / Apache / etc. Beliebig anpassbar Keine Lizenzkosten Technisch attraktiv Linux-Kernel Java-Applikationen Legt Wert auf Effizienz Ähnlich Embedded Systems
GPL GPL C++/ /Assembler Assembler CC/ /C++ Apache/ /BSD BSD Apache Java Java Aufbau der Plattform
Laufzeitumgebung Kompatibel zu Untermenge des JDK 1.5 FuF Vluloy llyls java.io sust java.io äpunp java.lang java.lang dopir o java.lang.annotation java.lang.annotation gtertde java.lang.ref java.lang.ref java.lang.reflect java.lang.reflect java.math java.math java.net java.net java.nio java.nio java.nio.channels java.nio.channels java.nio.channels.spi java.nio.channels.spi java.nio.charset java.nio.charset java.nio.charset.spi java.nio.charset.spi java.security java.security java.security.acl java.security.acl java.security.cert java.security.cert java.security.interfaces java.security.interfaces java.security.spec java.security.spec java.sql java.sql d FuF Vluloy llyls java.text sust java.text äpunp java.util java.util dopir ogter java.util.concurrent java.util.concurrent java.util.concurrent.atomictde FuF Vluloy llyls org.xml.sax sust org.xml.sax äpunp org.xml.sax.ext org.xml.sax.ext dopi org.xml.sax.helpers org.xml.sax.helpers rogtertde java.util.concurrent.atomicd java.util.concurrent.locks java.util.concurrent.locks java.util.jar java.util.jar java.util.logging java.util.logging java.util.prefs java.util.prefs java.util.regex java.util.regex java.util.zip java.util.zip d ÄOl Otlde lerder javax.xml evvr javax.xml eev javax.xml.parsers javax.xml.parsers rersriiso ino n javax.crypto javax.crypto javax.crypto.interfaces javax.crypto.interfaces javax.crypto.spec javax.crypto.spec javax.net javax.net javax.net.ssl javax.net.ssl javax.security.cert javax.security.cert javax.sql javax.sql PUaP rantlrv ytoly javax.security.auth javax.security.authsllusptu äpn javax.security.auth.callbck javax.security.auth.callbck opdro javax.security.auth.login javax.security.auth.loginitgertde javax.security.auth.x500 javax.security.auth.x500 d org.w3c.dom org.w3c.dom
Framework Einige Beispiele für GUI-Elemente...
Werkzeuge Entwicklungsprozess (vereinfacht) IDE IDE JavaJavaCompiler Compiler Bestehende Werkzeuge und Wissen nutzbar Android SDK Package Package Tool Tool HelloWorld.apk HelloWorld.apk Dx Dx Converter Converter Dalvik Dalvik VM VM HelloWorld.apk HelloWorld.apk Hello.class classes.dex World.class strings.txt strings.txt image.png image.png
SDK Build-Werkzeuge Dokumentation Beispiele Emulator Konfigurierbar Erweiterbar Debugging Tools Eclipse Plugin
NDK Native Development Kit Ergänzung zum SDK Einbinden von C(++)-Code Java Native Interface (JNI) Auslieferung mit der App Achtung! Lohnt sich nicht immer Code nicht mehr portabel
Hardware (I) Mittelklasse: Nexus One Von HTC produziert Von Google vertrieben Technische Daten 1 GHz, 384 MB RAM, WVGA UMTS, quad-band GSM Touchscreen, Trackball 5 MP, GPS, diverse Sensoren
Hardware (II) Über Telefone hinaus Internet Tablet Media Player Navigationssystem Wecker Noch ein Schritt weiter Ticket-Automat Automotive Anlagensteuerung
Prototyp Drehende Scheibe Transparente Symbole Lichtschranke misst Umdrehungen LED für StroboskopEffekt Nur ein Symbol soll aufleuchten
Kundenprojekte (I) Mobile Messgeräte Auswahl einer HWPlattform Portieren von Android Integration eines oder mehrerer Sensoren Entwicklung einer spezialisierten Applikation Eigener Marktplatz für Applikationen (optional)
Kundenprojekte (II) Automotive-Plattform und -Applikation Basis für In-Car Entertainment & Internet Teilweise inspiriert vom Rennsport Vorstellung auf der IAA 2011 Herausforderungen Portierung und Anpassen von Android Umfangreiche, attraktive Applikation Anforderungen im Bereich Automotive Von der Evaluation zur Serienreife
Fazit Was fehlt? Standard-API für Sensoren / Aktoren / Busse Framework für industrielle Anwendungsfälle Echtzeiterweiterungen (Ziswiler, 2009) Was bekommt man? Moderne Open-Source Plattform Mächtiges Set von Werkzeugen Gute Time-to-Market dank Java
NOSER ENGINEERING AG Talackerstrasse 99 CH-8400 Winterthur +41 52 23456 11 (phone) joerg.pleumann@noser.com www.noser.com Vielen Dank!