SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
Android
Inhaltsverzeichnis
 Android
 Toolchain
 Beispiel Hello World
 mehr Beispiele
 Android Market
 Ausblick
 Virtualisierung




                        Franz Leitner DI, Android Entwicklung, 2012, Seite:2
Was ist Android:
    … ein Betriebssystem und Software-Plattform für mobile Devices.
    Android baut auf dem Linux-Kernel 2.6.x auf. („“rooten)
    Android OS optimiert Speichernutzung, Prozessverwaltung, Akkulaufzeit, Touchscreen
    2D, 3D Graphik
    Dalvik VM: Google's Implementation einer VM, optimiert für Mobile Devices
    Eine einzige Applikation läuft im Vordergrund. Diese Applikation hat den Fokus und füllt
    normalerweise den gesamten Bildschirm.
    Quelloffen – Sourcen und Schnittstellen sind offen gelegt. Jeder darf Erweiterungen (OS +
    Apps) implementieren.
    http://source.android.com/,
    Android Market – Sie dürfen Ihre Apps veröffentlichen. Ein weltweiter Markt steht zur
    Verfügung.

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
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/,
   Nützliche Informationen für den Entwickler rund um das Android Projekt.


   http://android-developers.de/,
   Forum




 Source: Jürg Luthiger,University of AppliedSciences Northwestern Switzerland

                                                      Franz Leitner DI, Android Entwicklung, 2012, Seite:4
Android Versionen
                                                           Beispiel,
                                                           Statistik
                                                           Jänner 2012




             Franz Leitner DI, Android Entwicklung, 2012, Seite:5
Android Versionen




Quelle: Kaliudis A., 2011, Das Wesen der Androiden, connect 6/2011
                                           Franz Leitner DI, Android Entwicklung, 2012, Seite:6
http://developer.android.com,
 Das „Original“
 Beste Dokumentation
 Installation SDK
 Implementieren
 Test
 Beispiele
 Verweile hier – lange,
 wie bei
 „Call of Duty“




                          Franz Leitner DI, Android Entwicklung, 2012, Seite:7
Toolchain
            Projekt anlegen

                     App
                programmieren

                            App testen


                                   App release
                                    im Market




0      1h
                Franz Leitner DI, Android Entwicklung, 2012, Seite:8
Toolchain
1.   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 für 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 auswählen und installieren. Android Versionen auswählen !
     (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
Toolchain – JavaSE JDK
 http://www.oracle.com/technetwork/java/javase/downloads/index.html,




                               Franz Leitner DI, Android Entwicklung, 2012, Seite:10
Toolchain – Android SDK
 http://developer.android.com/sdk/index.html,
 SDK Manager
 Start, Update, Optionen , https/http,
 Android Packages auswählen und installieren,
 Android Versionen aufwärtskompatibel,
 USB Driver Package – optional, wenn mit echter HW getestet.
 Simulatoren - AVD
 einrichten




                                        Franz Leitner DI, Android Entwicklung, 2012, Seite:11
Toolchain - Eclipse
 http://www.eclipse.org/downloads/,




                                Franz Leitner DI, Android Entwicklung, 2012, Seite:12
Eclipse ADT plugin
 http://developer.android.com/sdk/eclipse-adt.html,




                                 Franz Leitner DI, Android Entwicklung, 2012, Seite:13
Eclipse + ADT plugin
 Windows – Preferences – Android – SRC Location




                           Franz Leitner DI, Android Entwicklung, 2012, Seite:14
Google App Inventor (?)
 Vollständige Entwicklungs-Umgebung für unerfahrene SW
 Entwickler. Leider nicht weiterentwickelt (Stand Jan-2012).




                              Franz Leitner DI, Android Entwicklung, 2012, Seite:15
Layer Model
Applications

                                                Internet
                phone         Email




                 Libraries / Android RE (runtime environment)

                 OS Linux Kernel 2.6.x.x

                      SD                                NIC       NFC
                     cards
       touch
       screen             Hardware                              GPS
                                  Franz Leitner DI, Android Entwicklung, 2012, Seite:16
Layer Model
 http://developer.android.com/guide/basics/what-is-android.html,




                             Franz Leitner DI, Android Entwicklung, 2012, Seite:17
Wichtige Begriffe
 Activity
    Ist eine Java Klasse, repräsentiert das dynamische Verhalten ihres App.
    bearbeitet alle Aktivitäten, User-Interface (onClick…)
    Hat Lebenszyklen (onCreate, onStart, onResume, onPause, onStop, onDestroy)
 View
    Screen layout, User-Interface
 Intent
    Verbindung von Aktivities, Folgeseitensteuerung
    Austausch von Daten/Nachrichten zwischen Anwendungen, Komponenten
 Services
    Hintergrundprozesse
    haben i.Allg. keine View (graphische Ausgabe)
    Parametrierbar
    Lebenszyklen: onCreate, onStart, onDestroy
 Broadcast Receiver – Eventhandling
 Content Provider - Datenabstrahierung


                                        Franz Leitner DI, Android Entwicklung, 2012, Seite:18
Jetzt geht‘s 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 nächste Folie)




                                           Franz Leitner DI, Android Entwicklung, 2012, Seite:19
Demo – Hello World
 Eclipse: Projekt anlegen, Objekte erklären
 File – New – Project – Android – Android Project
 Eclipse – properties View einschalten
   Window – Show view – others – General – properties




 DEMO - <theFile>.java , main.xml
 DEMO – AndroidManifest.xml
   Permissions !! – für 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 können auch mit anderen Tools erstellt werden. Wichtig ist die
   Pixel-Groöße.



                                 Franz Leitner DI, Android Entwicklung, 2012, Seite:20
Eclipse project workspace

          Klasse der Haupt-Activity

          Resourcen-ID-Definitionen (automatisch erstellt, nicht editieren!)

          Ordner für Binär-Dateien (alles, was Android nicht selbst verwaltet)
          Ordner für Resource-Dateien (Bilder, Layouts, Strings, ...)
          Logo in hoher Auflösung (72 x 72 Pixel – 240 dpi)
          Logo in niedriger Auflösung (36 x 36 Pixel – 120 dpi)
          Logo in mittlerer Auflösung (48 x 48 Pixel – 160 dpi)

          Layout-Definition für View der Haupt-Activity

          String-Definitionen
          "Manifest"-Datei, definiert Infos wie Name, Logo und Haupt-Activity
          code optimierung, automatisch erstellt, nicht editieren
          Projekt-Eigenschaften


                        Franz Leitner DI, Android Entwicklung, 2012, Seite:21
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 können beliebig viele AVDs laufen (Resourcen-Problem).
 AVDs können 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
Demo, sample projects
 eclipse – File-New–Project- 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
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 für Debugging
   Breakpoints werden unterstützt
   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
Test
 Für erste Versuche mit dem Simulator(oder Smartphone) und
 manuelles Durchspielen.
 Automatisiertes Testen mit Eclipse und ADT,
 günstig, 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
App Release
 Wir möchten unser App freigeben im Market.
 eclipse – File – Export – Android
 Erzeuge einen Keystore:
 Dein privater Keystore: nur einmal notwendig
 Pwd bitte merken !!
 Später: „Use existing keystore“
 APK Datei wird erzeugt.
 Datei ist verschlüsselt.
 APK Datei hochladen in den Android Market
 (-> nächste Folie)




                                         Franz Leitner DI, Android Entwicklung, 2012, Seite:26
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
   Hochauflösendes 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
Endlich im Android Market




             Franz Leitner DI, Android Entwicklung, 2012, Seite:28
Virtualisieren mit VMware
Player




              Franz Leitner DI, Android Entwicklung, 2012, Seite:29
Entwickeln in VMWare
 VMWare Player - http://www.vmware.com/products/player/,
 Frei verfügbar.
 Das Beste für „Amateure“. ESX-Server für Profies.

 VMWare Image erzeugen, Windows oder Linux
    Windows: erzeuge ein Image mit: File – create New Virt. Machine
    Linux: fertiges Image verfügbar, z.Bsp Ubuntu:
    Ubuntu 10.10 Desktop with VMware Tools,

 Einstellungen der virt. Machine: (in VMWare Player ):
    Memory RAM ~ 1,5 GB
    Hard 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
Netzwerkeinstellungen in VMWare


           NAT        Bridged                           Host-only



     Host
  10.0.0.140                   VM                                      VM


                      Host     Guest                        Host       Guest
                                                      10.0.0.140
    Guest VM     10.0.0.140   10.0.0.141
192.168.0.100




                              Franz Leitner DI, Android Entwicklung, 2012, Seite:31
Entwickeln in VMWare
 Booten und Einsteigen in das BIOS:
    Sehr zeitkritisch, da die Anzeige zu kurz ist.
    Editieren der .vmx Datei. Anzeigen des Boot Menüs für 7 Sekunden:
    [bios.forceSetupOnce = "TRUE“] … optional
    bios.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 unterstützt.
 Bottleneck: Harddisk !



                                       Franz Leitner DI, Android Entwicklung, 2012, Seite:32
Marktanteile OS, 2011




Beachte Windows Phone in 2015

                                Franz Leitner DI, Android Entwicklung, 2012, Seite:33
OS Markt Anteile
                                                     Ausblick von
                                                     Franz Leitner




                                                             Windows
                                                             Phone 7




             Franz Leitner DI, Android Entwicklung, 2012, Seite:34
development effort




             Franz Leitner DI, Android Entwicklung, 2012, Seite:35
Referenzen
 www.Gallileocomputing.de – PDF, „Android 3“
 veraltet, Sensoren, GPS
 Seminararbeit Software-Engineering, 28-6-2011, Andre Tschersich
 Android Workshop für Anfänger - Sven Woltmann – 23.2.2010, AndroidPIT
 Mobile ApplicationDevelopment – Android Einführung,
 Jürg Luthiger,
 University of AppliedSciences Northwestern Switzerland
 Institute forMobile and DistributedSystems
 Developers Guide, Google - http://developer.android.com/guide/index.html
 Android, Wikipedia
      http://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 Anfängerworkshop -
 http://www.androidpit.de/de/android/wiki/view/Android_Anf%C3%A4nger_Workshop,




                                           Franz Leitner DI, Android Entwicklung, 2012, Seite:36
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:
      SharedPreferences
      http://developer.android.com/reference/android/content/SharedPreferences.html,
      Dateien
      SQLite Datenbank
      Netzwerk



                                            Franz Leitner DI, Android Entwicklung, 2012, Seite:38
Android Dokumentation
 Auf dem PC lokal - ..docs
 Beispiele: ..samples




                              Franz Leitner DI, Android Entwicklung, 2012, Seite: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

Contenu connexe

Similaire à Android Entwicklung

Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!inovex GmbH
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Projectinovex GmbH
 
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Gregor Biswanger
 
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)greenrobot
 
Erstellung von mobilen cross-platform-Apps
Erstellung von mobilen cross-platform-AppsErstellung von mobilen cross-platform-Apps
Erstellung von mobilen cross-platform-AppsRalf Lütke
 
Mobile App Entwicklung
Mobile App EntwicklungMobile App Entwicklung
Mobile App Entwicklungmediaman
 
Android User Interface
Android User InterfaceAndroid User Interface
Android User InterfaceDanny Fürniß
 
Android Embedded - Einführung in Android als Embedded-Plattform
Android Embedded - Einführung in Android als Embedded-PlattformAndroid Embedded - Einführung in Android als Embedded-Plattform
Android Embedded - Einführung in Android als Embedded-Plattforminovex GmbH
 
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...Gregor Biswanger
 
Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009greenrobot
 
Smartphone Betriebssysteme Android
Smartphone Betriebssysteme AndroidSmartphone Betriebssysteme Android
Smartphone Betriebssysteme Androiddm-development
 
Techtalk Google Android
Techtalk Google AndroidTechtalk Google Android
Techtalk Google AndroidMarkus Litz
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndré Krämer
 
Mobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaMobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaYvette Teiken
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptRalf Schwoebel
 
Windows 8 Business-App-Entwicklung
Windows 8 Business-App-EntwicklungWindows 8 Business-App-Entwicklung
Windows 8 Business-App-EntwicklungMatthias Jauernig
 
WhereGroup Firmenprofil
WhereGroup FirmenprofilWhereGroup Firmenprofil
WhereGroup FirmenprofilArnulf Christl
 

Similaire à Android Entwicklung (20)

Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für di...
 
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
 
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
 
Erstellung von mobilen cross-platform-Apps
Erstellung von mobilen cross-platform-AppsErstellung von mobilen cross-platform-Apps
Erstellung von mobilen cross-platform-Apps
 
Mobile App Entwicklung
Mobile App EntwicklungMobile App Entwicklung
Mobile App Entwicklung
 
Android User Interface
Android User InterfaceAndroid User Interface
Android User Interface
 
Android Embedded - Einführung in Android als Embedded-Plattform
Android Embedded - Einführung in Android als Embedded-PlattformAndroid Embedded - Einführung in Android als Embedded-Plattform
Android Embedded - Einführung in Android als Embedded-Plattform
 
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
 
Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009Android Entwicklung GTUG München 2009
Android Entwicklung GTUG München 2009
 
Smartphone Betriebssysteme Android
Smartphone Betriebssysteme AndroidSmartphone Betriebssysteme Android
Smartphone Betriebssysteme Android
 
Techtalk Google Android
Techtalk Google AndroidTechtalk Google Android
Techtalk Google Android
 
Android Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickelnAndroid Apps mit Xamarin entwickeln
Android Apps mit Xamarin entwickeln
 
Mobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache CordovaMobile Anwendungen mit Apache Cordova
Mobile Anwendungen mit Apache Cordova
 
German: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit JavascriptGerman: Softwareprodukte aus einem Source Code mit Javascript
German: Softwareprodukte aus einem Source Code mit Javascript
 
Windows 8 Business-App-Entwicklung
Windows 8 Business-App-EntwicklungWindows 8 Business-App-Entwicklung
Windows 8 Business-App-Entwicklung
 
Responsive design
Responsive designResponsive design
Responsive design
 
WhereGroup Firmenprofil
WhereGroup FirmenprofilWhereGroup Firmenprofil
WhereGroup Firmenprofil
 
Android doc
Android docAndroid doc
Android doc
 

Android Entwicklung

  • 2. Inhaltsverzeichnis Android Toolchain Beispiel Hello World mehr Beispiele Android Market Ausblick Virtualisierung Franz Leitner DI, Android Entwicklung, 2012, Seite:2
  • 3. Was ist Android: … ein Betriebssystem und Software-Plattform für mobile Devices. Android baut auf dem Linux-Kernel 2.6.x auf. („“rooten) Android OS optimiert Speichernutzung, Prozessverwaltung, Akkulaufzeit, Touchscreen 2D, 3D Graphik Dalvik VM: Google's Implementation einer VM, optimiert für Mobile Devices Eine einzige Applikation läuft im Vordergrund. Diese Applikation hat den Fokus und füllt normalerweise den gesamten Bildschirm. Quelloffen – Sourcen und Schnittstellen sind offen gelegt. Jeder darf Erweiterungen (OS + Apps) implementieren. http://source.android.com/, Android Market – Sie dürfen Ihre Apps veröffentlichen. Ein weltweiter Markt steht zur Verfügung. 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. 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/, Nützliche Informationen für den Entwickler rund um das Android Projekt. http://android-developers.de/, Forum Source: Jürg Luthiger,University of AppliedSciences Northwestern Switzerland Franz Leitner DI, Android Entwicklung, 2012, Seite:4
  • 5. Android Versionen Beispiel, Statistik Jänner 2012 Franz Leitner DI, Android Entwicklung, 2012, Seite:5
  • 6. Android Versionen Quelle: Kaliudis A., 2011, Das Wesen der Androiden, connect 6/2011 Franz Leitner DI, Android Entwicklung, 2012, Seite:6
  • 7. http://developer.android.com, Das „Original“ Beste Dokumentation Installation SDK Implementieren Test Beispiele Verweile hier – lange, wie bei „Call of Duty“ Franz Leitner DI, Android Entwicklung, 2012, Seite:7
  • 8. Toolchain Projekt anlegen App programmieren App testen App release im Market 0 1h Franz Leitner DI, Android Entwicklung, 2012, Seite:8
  • 9. Toolchain 1. 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 für 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 auswählen und installieren. Android Versionen auswählen ! (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. Toolchain – JavaSE JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html, Franz Leitner DI, Android Entwicklung, 2012, Seite:10
  • 11. Toolchain – Android SDK http://developer.android.com/sdk/index.html, SDK Manager Start, Update, Optionen , https/http, Android Packages auswählen und installieren, Android Versionen aufwärtskompatibel, USB Driver Package – optional, wenn mit echter HW getestet. Simulatoren - AVD einrichten Franz Leitner DI, Android Entwicklung, 2012, Seite:11
  • 12. Toolchain - Eclipse http://www.eclipse.org/downloads/, Franz Leitner DI, Android Entwicklung, 2012, Seite:12
  • 13. Eclipse ADT plugin http://developer.android.com/sdk/eclipse-adt.html, Franz Leitner DI, Android Entwicklung, 2012, Seite:13
  • 14. Eclipse + ADT plugin Windows – Preferences – Android – SRC Location Franz Leitner DI, Android Entwicklung, 2012, Seite:14
  • 15. Google App Inventor (?) Vollständige Entwicklungs-Umgebung für unerfahrene SW Entwickler. Leider nicht weiterentwickelt (Stand Jan-2012). Franz Leitner DI, Android Entwicklung, 2012, Seite:15
  • 16. Layer Model Applications Internet phone Email Libraries / Android RE (runtime environment) OS Linux Kernel 2.6.x.x SD NIC NFC cards touch screen Hardware GPS Franz Leitner DI, Android Entwicklung, 2012, Seite:16
  • 17. Layer Model http://developer.android.com/guide/basics/what-is-android.html, Franz Leitner DI, Android Entwicklung, 2012, Seite:17
  • 18. Wichtige Begriffe Activity Ist eine Java Klasse, repräsentiert das dynamische Verhalten ihres App. bearbeitet alle Aktivitäten, User-Interface (onClick…) Hat Lebenszyklen (onCreate, onStart, onResume, onPause, onStop, onDestroy) View Screen layout, User-Interface Intent Verbindung von Aktivities, Folgeseitensteuerung Austausch von Daten/Nachrichten zwischen Anwendungen, Komponenten Services Hintergrundprozesse haben i.Allg. keine View (graphische Ausgabe) Parametrierbar Lebenszyklen: onCreate, onStart, onDestroy Broadcast Receiver – Eventhandling Content Provider - Datenabstrahierung Franz Leitner DI, Android Entwicklung, 2012, Seite:18
  • 19. Jetzt geht‘s 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 nächste Folie) Franz Leitner DI, Android Entwicklung, 2012, Seite:19
  • 20. Demo – Hello World Eclipse: Projekt anlegen, Objekte erklären File – New – Project – Android – Android Project Eclipse – properties View einschalten Window – Show view – others – General – properties DEMO - <theFile>.java , main.xml DEMO – AndroidManifest.xml Permissions !! – für 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 können auch mit anderen Tools erstellt werden. Wichtig ist die Pixel-Groöße. Franz Leitner DI, Android Entwicklung, 2012, Seite:20
  • 21. Eclipse project workspace Klasse der Haupt-Activity Resourcen-ID-Definitionen (automatisch erstellt, nicht editieren!) Ordner für Binär-Dateien (alles, was Android nicht selbst verwaltet) Ordner für Resource-Dateien (Bilder, Layouts, Strings, ...) Logo in hoher Auflösung (72 x 72 Pixel – 240 dpi) Logo in niedriger Auflösung (36 x 36 Pixel – 120 dpi) Logo in mittlerer Auflösung (48 x 48 Pixel – 160 dpi) Layout-Definition für View der Haupt-Activity String-Definitionen "Manifest"-Datei, definiert Infos wie Name, Logo und Haupt-Activity code optimierung, automatisch erstellt, nicht editieren Projekt-Eigenschaften Franz Leitner DI, Android Entwicklung, 2012, Seite:21
  • 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 können beliebig viele AVDs laufen (Resourcen-Problem). AVDs können 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. Demo, sample projects eclipse – File-New–Project- 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. 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 für Debugging Breakpoints werden unterstützt 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. Test Für erste Versuche mit dem Simulator(oder Smartphone) und manuelles Durchspielen. Automatisiertes Testen mit Eclipse und ADT, günstig, 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. App Release Wir möchten unser App freigeben im Market. eclipse – File – Export – Android Erzeuge einen Keystore: Dein privater Keystore: nur einmal notwendig Pwd bitte merken !! Später: „Use existing keystore“ APK Datei wird erzeugt. Datei ist verschlüsselt. APK Datei hochladen in den Android Market (-> nächste Folie) Franz Leitner DI, Android Entwicklung, 2012, Seite:26
  • 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 Hochauflösendes 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. Endlich im Android Market Franz Leitner DI, Android Entwicklung, 2012, Seite:28
  • 29. Virtualisieren mit VMware Player Franz Leitner DI, Android Entwicklung, 2012, Seite:29
  • 30. Entwickeln in VMWare VMWare Player - http://www.vmware.com/products/player/, Frei verfügbar. Das Beste für „Amateure“. ESX-Server für Profies. VMWare Image erzeugen, Windows oder Linux Windows: erzeuge ein Image mit: File – create New Virt. Machine Linux: fertiges Image verfügbar, z.Bsp Ubuntu: Ubuntu 10.10 Desktop with VMware Tools, Einstellungen der virt. Machine: (in VMWare Player ): Memory RAM ~ 1,5 GB Hard 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. Netzwerkeinstellungen in VMWare NAT Bridged Host-only Host 10.0.0.140 VM VM Host Guest Host Guest 10.0.0.140 Guest VM 10.0.0.140 10.0.0.141 192.168.0.100 Franz Leitner DI, Android Entwicklung, 2012, Seite:31
  • 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 Menüs für 7 Sekunden: [bios.forceSetupOnce = "TRUE“] … optional bios.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 unterstützt. Bottleneck: Harddisk ! Franz Leitner DI, Android Entwicklung, 2012, Seite:32
  • 33. Marktanteile OS, 2011 Beachte Windows Phone in 2015 Franz Leitner DI, Android Entwicklung, 2012, Seite:33
  • 34. OS Markt Anteile Ausblick von Franz Leitner Windows Phone 7 Franz Leitner DI, Android Entwicklung, 2012, Seite:34
  • 35. development effort Franz Leitner DI, Android Entwicklung, 2012, Seite:35
  • 36. Referenzen www.Gallileocomputing.de – PDF, „Android 3“ veraltet, Sensoren, GPS Seminararbeit Software-Engineering, 28-6-2011, Andre Tschersich Android Workshop für Anfänger - Sven Woltmann – 23.2.2010, AndroidPIT Mobile ApplicationDevelopment – Android Einführung, Jürg Luthiger, University of AppliedSciences Northwestern Switzerland Institute forMobile and DistributedSystems Developers Guide, Google - http://developer.android.com/guide/index.html Android, Wikipedia http://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 Anfängerworkshop - http://www.androidpit.de/de/android/wiki/view/Android_Anf%C3%A4nger_Workshop, Franz Leitner DI, Android Entwicklung, 2012, Seite:36
  • 37.
  • 38. 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: SharedPreferences http://developer.android.com/reference/android/content/SharedPreferences.html, Dateien SQLite Datenbank Netzwerk Franz Leitner DI, Android Entwicklung, 2012, Seite:38
  • 39. Android Dokumentation Auf dem PC lokal - ..docs Beispiele: ..samples Franz Leitner DI, Android Entwicklung, 2012, Seite:39
  • 40. 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