40
Android

Android Entwicklung

Embed Size (px)

Citation preview

  1. 1. Android
  2. 2. Inhaltsverzeichnis Android Toolchain Beispiel Hello World mehr Beispiele Android Market Ausblick VirtualisierungFranz Leitner DI, Android Entwicklung, 2012, Seite:2
  3. 3. Was ist Android: ein Betriebssystem und Software-Plattform fr mobile Devices.Android baut auf dem Linux-Kernel 2.6.x auf. (rooten)Android OS optimiert Speichernutzung, Prozessverwaltung, Akkulaufzeit, Touchscreen2D, 3D GraphikDalvik VM: Googles Implementation einer VM, optimiert fr Mobile DevicesEine einzige Applikation luft im Vordergrund. Diese Applikation hat den Fokus und flltnormalerweise den gesamten Bildschirm.Quelloffen Sourcen und Schnittstellen sind offen gelegt. Jeder darf Erweiterungen (OS +Apps) implementieren.http://source.android.com/,Android Market Sie drfen Ihre Apps verffentlichen. Ein weltweiter Markt steht zurVerfgung.2005: Google erwirbt Startup Android Inc. von Andy Rubin.2008: erstes Android Smartphone, HTC Dream (Google G1) Franz Leitner DI, Android Entwicklung, 2012, Seite:3
  4. 4. Android Infos http://developer.android.com/, Die Entwickler Site von Google Android. Hier findet man alle wichtigen Infos zur Applikationsentwicklung auf Android. http://source.android.com/, Das Android Open SourceProjekt von Google. Hier findet man den Quellcode zur Android Plattform. http://androidguys.com/, Ntzliche Informationen fr den Entwickler rund um das Android Projekt. http://android-developers.de/, Forum Source: Jrg Luthiger,University of AppliedSciences Northwestern SwitzerlandFranz Leitner DI, Android Entwicklung, 2012, Seite:4
  5. 5. Android Versionen Beispiel, Statistik Jnner 2012 Franz Leitner DI, Android Entwicklung, 2012, Seite:5
  6. 6. Android VersionenQuelle: Kaliudis A., 2011, Das Wesen der Androiden, connect 6/2011 Franz Leitner DI, Android Entwicklung, 2012, Seite:6
  7. 7. http://developer.android.com, Das Original Beste Dokumentation Installation SDK Implementieren Test Beispiele Verweile hier lange, wie bei Call of DutyFranz Leitner DI, Android Entwicklung, 2012, Seite:7
  8. 8. ToolchainProjekt anlegen AppprogrammierenApp testen App releaseim Market01hFranz Leitner DI, Android Entwicklung, 2012, Seite:8
  9. 9. Toolchain1. JavaSE JDK ! , http://www.oracle.com/technetwork/java/javase/downloads, (Mai 2011: Wir setzen zur Entwicklung Windows7 64 Bit ein. Die Erfahrung zeigte uns jedoch, dass ein JDK fr 32-Bit installiert sein muss. Daher empfehlen wir hier den Download der 32- Bit Version)2. Android SDK , http://developer.android.com/sdk, (Software Development Kit) - Packete auswhlen und installieren. Android Versionen auswhlen ! (etwas Geduld warten warten ~1 h )3. Eclipse , http://www.eclipse.org/downloads/ + ADT plugin , http://developer.android.com/sdk/eclipse-adt.html, im Anschluss gleich Update aufrufen Eclipse Help Check for Updates Update immer aufrufen, wenn auch in Android SDK ein Update/Installation war.Franz Leitner DI, Android Entwicklung, 2012, Seite:9
  10. 10. Toolchain JavaSE JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html, Franz Leitner DI, Android Entwicklung, 2012, Seite:10
  11. 11. Toolchain Android SDK http://developer.android.com/sdk/index.html, SDK Manager Start, Update, Optionen , https/http, Android Packages auswhlen und installieren, Android Versionen aufwrtskompatibel, USB Driver Package optional, wenn mit echter HW getestet. Simulatoren - AVD einrichtenFranz Leitner DI, Android Entwicklung, 2012, Seite:11
  12. 12. Toolchain - Eclipse http://www.eclipse.org/downloads/,Franz Leitner DI, Android Entwicklung, 2012, Seite:12
  13. 13. Eclipse ADT plugin http://developer.android.com/sdk/eclipse-adt.html, Franz Leitner DI, Android Entwicklung, 2012, Seite:13
  14. 14. Eclipse + ADT plugin Windows Preferences Android SRC Location Franz Leitner DI, Android Entwicklung, 2012, Seite:14
  15. 15. Google App Inventor (?) Vollstndige Entwicklungs-Umgebung fr unerfahrene SW Entwickler. Leider nicht weiterentwickelt (Stand Jan-2012).Franz Leitner DI, Android Entwicklung, 2012, Seite:15
  16. 16. Layer ModelApplicationsInternetphone Email Libraries / Android RE (runtime environment) OS Linux Kernel 2.6.x.xSDNIC NFC cards touch screen HardwareGPSFranz Leitner DI, Android Entwicklung, 2012, Seite:16
  17. 17. Layer Model http://developer.android.com/guide/basics/what-is-android.html, Franz Leitner DI, Android Entwicklung, 2012, Seite:17
  18. 18. Wichtige Begriffe ActivityIst eine Java Klasse, reprsentiert das dynamische Verhalten ihres App.bearbeitet alle Aktivitten, User-Interface (onClick)Hat Lebenszyklen (onCreate, onStart, onResume, onPause, onStop, onDestroy) ViewScreen layout, User-Interface IntentVerbindung von Aktivities, FolgeseitensteuerungAustausch von Daten/Nachrichten zwischen Anwendungen, Komponenten ServicesHintergrundprozessehaben i.Allg. keine View (graphische Ausgabe)ParametrierbarLebenszyklen: onCreate, onStart, onDestroy Broadcast Receiver Eventhandling Content Provider - DatenabstrahierungFranz Leitner DI, Android Entwicklung, 2012, Seite:18
  19. 19. Jetzt gehts los Erstes Beispiel Hello World einfach http://developer.android.com/resources/tutorials/hello-world.html, viel zu einfach, daher gleich weiter: Hello World viel besser http://www.androidpit.de/de/android/wiki/view/Android_Anf%C3%A4nger_Workshop, - siehe auch PDF (Beilage zu diesem Vortrag) - wurde bereits von HP entfernt Vorsicht: diese Anleitung ist etwas veraltet. DEMO (siehe auch nchste Folie) Franz Leitner DI, Android Entwicklung, 2012, Seite:19
  20. 20. Demo Hello World Eclipse: Projekt anlegen, Objekte erklren File New Project Android Android Project Eclipse properties View einschalten Window Show view others General properties DEMO - .java , main.xml DEMO AndroidManifest.xml Permissions !! fr Internet, SD card, DEMO: Google Suche: android permission Application Icon DEMO: Eclipse - Version code, Version name Layout http://developer.android.com/guide/topics/ui/declaring- layout.html, Eclipse File New Others Android new IconSet Icons knnen auch mit anderen Tools erstellt werden. Wichtig ist die Pixel-Groe. Franz Leitner DI, Android Entwicklung, 2012, Seite:20
  21. 21. Eclipse project workspaceKlasse der Haupt-ActivityResourcen-ID-Definitionen (automatisch erstellt, nicht editieren!)Ordner fr Binr-Dateien (alles, was Android nicht selbst verwaltet)Ordner fr Resource-Dateien (Bilder, Layouts, Strings, ...)Logo in hoher Auflsung (72 x 72 Pixel 240 dpi)Logo in niedriger Auflsung (36 x 36 Pixel 120 dpi)Logo in mittlerer Auflsung (48 x 48 Pixel 160 dpi)Layout-Definition fr View der Haupt-ActivityString-Definitionen"Manifest"-Datei, definiert Infos wie Name, Logo und Haupt-Activitycode optimierung, automatisch erstellt, nicht editierenProjekt-EigenschaftenFranz Leitner DI, Android Entwicklung, 2012, Seite:21
  22. 22. Demo Hello World DEMO - main.xml Layout, fill parent, wrap containt, android:id="@+id/buttonAmstetten Run As Android application Focus setzen auf Projekt, oder java Klasse. NIEMALS xml files Run configuration Simulator AVD starten: 1. In Eclipse Run (run configuration zuvor kontrollieren) 2. Direkt: Start Programme - - Android SDK tools AVD Manager Es knnen beliebig viele AVDs laufen (Resourcen-Problem). AVDs knnen kommunizieren Internet, GPS, auch Phonecalls und SMS. http://developer.android.com/guide/developing/devices/emulator.html, Gute Beispiele: http://developer.android.com/resources/faq/commontasks.html, Franz Leitner DI, Android Entwicklung, 2012, Seite:22
  23. 23. Demo, sample projects eclipse File-NewProject- And.Sample Project Lunar Lander - http://developer.android.com/resources/samples/LunarLander/index.html,Paint http://developer.android.com/reference/android/graphics/Paint.html, FrameLayout SurfaceView USB http://developer.android.com/resources/samples/USB/index.html, mUsbManager = (UsbManager)getSystemService(Context.USB_SERVICE); API 14 (4.0) Media Player http://developer.android.com/guide/topics/media/mediaplayer.html, MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.sound_file_1); mediaPlayer.start(); Camera http://developer.android.com/guide/topics/media/camera.html,/** Check if this device has a camera */ c = Camera.open(); Franz Leitner DI, Android Entwicklung, 2012, Seite:23
  24. 24. Debugging Am Einfachsten mit Ausgaben am Bildschirm: Toast.makeText(this, .,).show(); Klasse log: Log.v() Log.d() Log.i() Log.w() and Log.e() Eclipse Der beste Weg fr Debugging Breakpoints werden untersttzt Eclipse console beobachten Project Properties - JavaCompiler adb - Android Debug Bridge http://developer.android.com/guide/developing/tools/adb.html, (cmd fenster) telnet localhost 5554 port nummer anpassen !! Franz Leitner DI, Android Entwicklung, 2012, Seite:24
  25. 25. Test Fr erste Versuche mit dem Simulator(oder Smartphone) und manuelles Durchspielen. Automatisiertes Testen mit Eclipse und ADT, gnstig, da wir Eclipse bereits zum Implementieren verwenden. http://developer.android.com/guide/developing/testing/testing_eclipse.html, Andere Tools, weitere Infos hier http://developer.android.com/guide/developing/testing/index.html, Franz Leitner DI, Android Entwicklung, 2012, Seite:25
  26. 26. App Release Wir mchten unser App freigeben im Market. eclipse File Export Android Erzeuge einen Keystore: Dein privater Keystore: nur einmal notwendig Pwd bitte merken !! Spter: Use existing keystore APK Datei wird erzeugt. Datei ist verschlsselt. APK Datei hochladen in den Android Market (-> nchste Folie) Franz Leitner DI, Android Entwicklung, 2012, Seite:26
  27. 27. Hochladen in den Market https://play.android.com/publish/Home, Registrieren im Google Android Market (25 $ einmalig) Anmelden APK hochladen: 2 Screenshots notwendig, 320 x 480, 480 x 800, 480 x 854, 1280 x 720, 1280 x 800 Hochauflsendes App-Logo: 512 x 512 , 32-Bit-PNG oder JPEG Beschreibung (Deutsch, Englisch, ) Versionen App-Type, Kategorie Kostenpflichtig, Frei ?Franz Leitner DI, Android Entwicklung, 2012, Seite:27
  28. 28. Endlich im Android Market Franz Leitner DI, Android Entwicklung, 2012, Seite:28
  29. 29. Virtualisieren mit VMwarePlayerFranz Leitner DI, Android Entwicklung, 2012, Seite:29
  30. 30. Entwickeln in VMWare VMWare Player - http://www.vmware.com/products/player/, Frei verfgbar. Das Beste fr Amateure. ESX-Server fr Profies. VMWare Image erzeugen, Windows oder LinuxWindows: erzeuge ein Image mit: File create New Virt. MachineLinux: fertiges Image verfgbar, z.Bsp Ubuntu:Ubuntu 10.10 Desktop with VMware Tools, Einstellungen der virt. Machine: (in VMWare Player ):Memory RAM ~ 1,5 GBHard Disk ~ 40 GB (20 GB reichen auch)Netzwerk: NAT (empfohlen) Installieren der kompletten Android Toolchain in der VM. (JavaSDK, Android SDK, Eclipse+ADT) Virt. Machine kann einfach weitergegeben werden. Aber zuvor Niederfahren. Franz Leitner DI, Android Entwicklung, 2012, Seite:30
  31. 31. Netzwerkeinstellungen in VMWare NATBridged Host-only Host10.0.0.140 VMVMHost GuestHost Guest10.0.0.140Guest VM 10.0.0.140 10.0.0.141192.168.0.100Franz Leitner DI, Android Entwicklung, 2012, Seite:31
  32. 32. Entwickeln in VMWare Booten und Einsteigen in das BIOS:Sehr zeitkritisch, da die Anzeige zu kurz ist.Editieren der .vmx Datei. Anzeigen des Boot Mens fr 7 Sekunden:[bios.forceSetupOnce = "TRUE] optionalbios.bootDelay = 7000 eine VM kann einfach weitergegeben werden. Zuvor die VM komplett niederfahren, dann erst die Files kopieren. Copy/Paste zwischen Host/Guest funktioniert, wenn die VMWare-Tools installiert sind. Bei Problemen: einen USB Stick verwenden. (Removeable devices connect/disconnect) Booten von CD, USB oder ISO-Image wird untersttzt. Bottleneck: Harddisk ! Franz Leitner DI, Android Entwicklung, 2012, Seite:32
  33. 33. Marktanteile OS, 2011Beachte Windows Phone in 2015Franz Leitner DI, Android Entwicklung, 2012, Seite:33
  34. 34. OS Markt Anteile Ausblick von Franz Leitner Windows Phone 7 Franz Leitner DI, Android Entwicklung, 2012, Seite:34
  35. 35. development effort Franz Leitner DI, Android Entwicklung, 2012, Seite:35
  36. 36. Referenzen www.Gallileocomputing.de PDF, Android 3 veraltet, Sensoren, GPS Seminararbeit Software-Engineering, 28-6-2011, Andre Tschersich Android Workshop fr Anfnger - Sven Woltmann 23.2.2010, AndroidPIT Mobile ApplicationDevelopment Android Einfhrung, Jrg Luthiger, University of AppliedSciences Northwestern Switzerland Institute forMobile and DistributedSystems Developers Guide, Google - http://developer.android.com/guide/index.html Android, Wikipediahttp://de.wikipedia.org/wiki/Android_(Plattform) ,http://en.wikipedia.org/wiki/Android_(operating_system) , JavaSE, Wikipedia - http://de.wikipedia.org/wiki/JavaSE, Eclipse Software - http://www.eclipse.org/, AndroidPIT - http://www.androidpit.de/, AndroidPIT Anfngerworkshop - http://www.androidpit.de/de/android/wiki/view/Android_Anf%C3%A4nger_Workshop, Franz Leitner DI, Android Entwicklung, 2012, Seite:36
  37. 37. Weitere Android Themen: Lokalisieren Mehrsprachige Texte Android Services Applikationen im Hintergrund URI - Universal Ressource Identifier Intents - Austausch von Nachrichten und Daten Android Native Development Android Scripting Debugging mit LogCat oder Android-Log Daten persistent speichern: 4 Arten:SharedPreferenceshttp://developer.android.com/reference/android/content/SharedPreferences.html,DateienSQLite DatenbankNetzwerkFranz Leitner DI, Android Entwicklung, 2012, Seite:38
  38. 38. Android Dokumentation Auf dem PC lokal - ..docs Beispiele: ..samplesFranz Leitner DI, Android Entwicklung, 2012, Seite:39
  39. 39. Activity states Link , ActivityManager verwaltet States.onPause() sichern von Benutzerdaten !Android darf jederzeit Prozesse beenden.Nur onPause() wird immer aufgerufen. Franz Leitner DI, Android Entwicklung, 2012, Seite:40