Android 05.05.2015 Jan Quadflieg Technische Universit¨at Dortmund Lehrstuhl 11 - Algorithm Engineering Jan Quadflieg Android 1 / 24 Inhalt 1 Android 2 Hardware 3 Referenzen Jan Quadflieg Android 2 / 24 Inhalt 1 Android 2 Hardware 3 Referenzen Jan Quadflieg Android 3 / 24 Historie Plattform f¨ ur mobile Ger¨ate von Google bzw. der Open Handset Alliance Betaversion im November 2007 Version 1.0 im September 2008 Aktuell: Version 5.1 Gr¨oßte Verbreitung: Version 4.4 (38%)1 Marktanteil: 78%2 1 2 Quelle: http://developer.android.com/about/dashboards/index.html Quelle: http://www.idc.com/prodserv/smartphone-os-market-share.jsp Jan Quadflieg Android 4 / 24 Aufbau von Android Basis Linux Kernel Vorherschende Programmiersprache: Java Alternativ: Native development toolkit (NDK) & C++ API: Teilmenge von SUN’s JDK & eigene Klassenbibliothek Eigene JVM: Dalvik Virtual Machine (DVM) java Code ⇒ .class ⇒ dx Compiler ⇒ .dx Bytecode ⇒ apk & deployment Neu: Android RunTime (ART) Jan Quadflieg Android 5 / 24 Aufbau von Android Quelle: Android SDK Jan Quadflieg Android 6 / 24 Wichtige Begriffe Activity Bildschirmseite einer Anwendung ⇒ Anwendungen k¨ onnen aus mehr als einer Activity bestehen. Intent Aufruf einer Activity View GUI Element ⇒ Activity u ¨blicherweise eine Menge von Views ⇒ Views k¨ onnen in Layouts angeordnet werden Service Hintergrundprozess Jan Quadflieg Android 7 / 24 Entwicklungsumgebung SDK & Tools: Android SDK IDE: Android Studio (IntelliJ IDEA & SDK) http://developer.android.com/sdk/index.html Auf den Poolrechnern schon vorinstalliert. K¨ ummern sich im Zusammenspiel um den gesamten build Prozess. Jan Quadflieg Android 8 / 24 Entwicklungsumgebung Jan Quadflieg Android 9 / 24 Wichtige APIs java.* Bekannte APIs des JDK (lang, net, util), teilweise mit eingeschr¨ankten Funktionen. android.app Klassen f¨ ur Anwendungen, z.B. Activity von der eigene Activities abgeleitet werden m¨ ussen. android.graphics 2D Grafik. android.hardware Klassen zum Zugriff auf Hardware, z.B. Zugriff auf Sensoren u ¨ber den SensorManager. android.view Gui Elemente. Jan Quadflieg Android 10 / 24 Resourcen Resourcen sind z.B. Layouts von Activities, (lokalisierte) Strings, Bin¨ardaten wie Bilder. Werden in Unterordnern von res gespeichert. Werden w¨ahrend des build Vorgangs automatisch mit in die .apk Datei gepackt. Zugriff aus Java Code heraus erfolgt u ¨ber die spezielle Datei R.java. Jan Quadflieg Android 11 / 24 Resourcen - Beispiel Datei res/values/colors.xml: <? xml v e r s i o n=” 1 . 0 ” e n c o d i n g=” u t f −8” ?> < r e s o u r c e s> < c o l o r name=” o p a q u e r e d ”>#f 0 0</ c o l o r> < c o l o r name=” t r a n s l u c e n t r e d ”>#80 f f 0 0 0 0</ c o l o r> </ r e s o u r c e s> Java Code: t e x t f i e l d . setTextColor ( getResources ( ) . getColor ( R. c o l o r . opaque red ) ) ; Dokumentation der Standard Verzeichnisse: http://developer.android.com/guide/topics/resources/ providing-resources.html Jan Quadflieg Android 12 / 24 Assets Alternative zu Resourcen f¨ ur beliebige Dateien. Werden in Unterordnern von assets gespeichert. Werden w¨ahrend des build Vorgangs automatisch mit in die .apk Datei gepackt. Zugriff aus Java Code heraus erfolgt u ¨ber den AssetManager. Im Gegensatz zu res kein Standard Verzeichnis Layout. Jan Quadflieg Android 13 / 24 Layouts Liegen als xml Dateien in res/layouts. K¨onnen mit einem Texteditor ver¨andert werden oder mit einem Gui Editor. Jan Quadflieg Android 14 / 24 Layouts <? xml v e r s i o n=” 1 . 0 ” e n c o d i n g=” u t f −8” ?> <L i n e a r L a y o u t x m l n s : a n d r o i d=” h t t p : // schemas . a n d r o i d a n d r o i d : l a y o u t w i d t h=” f i l l p a r e n t ” a n d r o i d : l a y o u t h e i g h t=” f i l l p a r e n t ” a n d r o i d : o r i e n t a t i o n=” v e r t i c a l ”> <TextView a n d r o i d : i d=”@+i d / F i r s t V i e w ” a n d r o i d : l a y o u t w i d t h=” f i l l p a r e n t ” a n d r o i d : l a y o u t h e i g h t=” w r a p c o n t e n t ” a n d r o i d : t e x t=” Hui , meine e r s t e A n d r o i d App” /> </ L i n e a r L a y o u t> Jan Quadflieg Android 15 / 24 Layouts Jan Quadflieg Android 16 / 24 Lebenszyklus einer Anwendung Quelle: Android SDK Jan Quadflieg Android 17 / 24 Lebenszyklus einer Anwendung Quelle: Android SDK Jan Quadflieg Android 17 / 24 Inhalt 1 Android 2 Hardware 3 Referenzen Jan Quadflieg Android 18 / 24 Smartphone - Motorola Moto G Jan Quadflieg Android 19 / 24 Smartphone - F¨ahigkeiten 4x 1.2 Ghz Qualcomm 400 Prozessor 1280 x 720 (720p HD) Bildschirm 1024 Mb RAM Android 5.0.2 Debugging auf dem Ger¨ at Touchscreen Lage- & Beschleunigungssensor GPS OpenGL ES WLAN Jan Quadflieg Android 20 / 24 Smartphone - Konfiguration Beim ersten Einschalten: Ggf. Sprache auf Deutsch ¨andern Hinweis auf fehlende SIM-Karte ignorieren Kein Google Konto anlegen Zum Debuggen unter Einstellungen: ¨ ⇒ Uber ⇒ Build Nummer 7x dr¨ ucken um die Entwickleroptionen freizuschalten! ⇒ Entwickleroptionen ⇒ Entwickleroptionen aktivieren (Schalter auf AN) ⇒ Entwickleroptionen ⇒ Aktiv lassen aktivieren ⇒ Entwickleroptionen ⇒ USB-Debugging aktivieren Ggf. k¨onnen wir Treiber f¨ ur eure Telefone installieren Jan Quadflieg Android 21 / 24 Inhalt 1 Android 2 Hardware 3 Referenzen Jan Quadflieg Android 22 / 24 Common Pitfalls Zugriff auf SensorManager und konkrete Sensoren In alten Android Tutorials erfolgt Zugriff im Konstruktor der Activity ⇒ keine Sensoren verf¨ ugbar Zugriff beim Aufruf von onCreate! Der direkte Zugriff auf den ORIENTATION Sensor ist depreciated ⇒ Muss in neuen Versionen u ¨ber den Accelerometer und den Magnetic Field Sensor berechnet werden. Jan Quadflieg Android 23 / 24 Referenzen Developer Seite von Google http://developer.android.com/develop/index.html Api Referenz (Reference) Tutorials / Einf¨ uhrungen zu bestimmten Themen (Training & API Guides) Thomas K¨ unneth: Android 4 - Apps entwickeln mit dem Android SDK http://www.galileocomputing.de/katalog/buecher/ titel/gp/titelID-3167 Andere Literatur eurer Wahl Jan Quadflieg Android 24 / 24
© Copyright 2024