App Entwicklung für Android -...
Transcript of App Entwicklung für Android -...
F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A
D O Z E N T : P R O F . D R . K L I N K E R
R E F E R E N T : R I C O L O S C H W I T Z
App Entwicklung für Android
Aufbau der Präsentation
Die Grundlagen von Android
Fortgeschrittene Programmierung mit Java
Aufbau der Präsentation
Die Grundlagen von Android
Vorbereitung von Eclipse
Fortgeschrittene Programmierung mit Java
Aufbau der Präsentation
Die Grundlagen von Android
Vorbereitung von Eclipse
Elemente einer App
Fortgeschrittene Programmierung mit Java
Aufbau der Präsentation
Die Grundlagen von Android
Vorbereitung von Eclipse
Elemente einer App
Erste Android-App erstellen
Fortgeschrittene Programmierung mit Java
Aufbau der Präsentation
Die Grundlagen von Android
Vorbereitung von Eclipse
Elemente einer App
Erste Android-App erstellen
Verteilung im Google-Market / Play Store
Fortgeschrittene Programmierung mit Java
Aufbau der Präsentation
Die Grundlagen von Android
Vorbereitung von Eclipse
Elemente einer App
Erste Android-App erstellen
Verteilung im Google-Market / Play Store
Vor- und Nachteile gegenüber iOS
Fortgeschrittene Programmierung mit Java
Aufbau der Präsentation
Die Grundlagen von Android
Vorbereitung von Eclipse
Elemente einer App
Erste Android-App erstellen
Verteilung im Google-Market / Play Store
Vor- und Nachteile gegenüber iOS
Beispielapps in Eclipse
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Die Entwicklungsgeschichte:
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Die Entwicklungsgeschichte:
2005: Übernahme der Firma Android durch Google
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Die Entwicklungsgeschichte:
2005: Übernahme der Firma Android durch Google
2008: Das erste Android-SDK ist verfügbar
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Die Entwicklungsgeschichte:
2005: Übernahme der Firma Android durch Google
2008: Das erste Android-SDK ist verfügbar
2009: - Google G1 mit Android 1.1 wird vertrieben
- Version Cupcake(1.5); Donut(1.6); Eclair(2.0) werden veröffentlicht
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Die Entwicklungsgeschichte:
2005: Übernahme der Firma Android durch Google
2008: Das erste Android-SDK ist verfügbar
2009: - Google G1 mit Android 1.1 wird vertrieben
- Version Cupcake(1.5); Donut(1.6); Eclair(2.0) werden veröffentlicht
2010: - Froyo(2.2) wird veröffentlicht.
- Android läuft auf 60 verschiedenen Geräten
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Die Entwicklungsgeschichte:
2011: Gingerbread(2.3) für Smartphones und Honeycomb(3.0 und 3.1) für Tablets werden veröffentlicht
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Die Entwicklungsgeschichte:
2011: Gingerbread(2.3) für Smartphones und Honeycomb(3.0 und 3.1) für Tablets werden veröffentlicht
2012: Mit Ice Cream Sandwich(4.0) werden die Smartphone und Tablet Betriebssysteme zusammengeführt
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Stand: 05.03.2012 Quelle: http://developer.android.com/resources/dashboard/platform-versions.html
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Die Entwicklungsumgebung:
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Die Entwicklungsumgebung:
(Beta)
Google AppInventor (Offline 12.2011 – 03.2012)
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Die Entwicklungsumgebung:
Google AppInventor (Offline)
Eclipse mit Android SDK und Android Virtual Device(AVD)
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Der App Inventor:
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Der App Inventor:
Entwicklungsumgebung nach dem Baukastenprinzip
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Der App Inventor:
Entwicklungsumgebung nach dem Baukastenprinzip
Entwicklung war bis 2011 nur online möglich. Google arbeitet in Kooperation mit dem MIT an einer neuen Version
Fortgeschrittene Programmierung mit Java
Die Grundlagen von Android
Der App Inventor:
Fortgeschrittene Programmierung mit Java
Vorbereitung von Eclipse
Eclipse mit Android SDK und AVD:
Fortgeschrittene Programmierung mit Java
Vorbereitung von Eclipse
Eclipse mit Android SDK und AVD:
ADT Installation (Android Development Tools)
(Eclipse – Hilfe – Install new Software)
Name: ADT Plugin
Location: https://dl-ssl.google.com/android/eclipse
Fortgeschrittene Programmierung mit Java
Vorbereitung von Eclipse
Eclipse mit Android SDK und AVD:
ADT installation (Android Development Tools)
(Eclipse – Hilfe – Install new Software)
Name: ADT Plugin
Location: https://dl-ssl.google.com/android/eclipse
Android SDK installieren
http://developer.android.com/sdk/index.html
Fortgeschrittene Programmierung mit Java
Vorbereitung von Eclipse
Eclipse mit Android SDK und AVD:
ADT installation
(Eclipse – Hilfe – Install new Software)
Name: ADT Plugin
Location: https://dl-ssl.google.com/android/eclipse
Android SDK installieren
http://developer.android.com/sdk/index.html
Einrichten von AVDs (Android Virtual Devices)
Fortgeschrittene Programmierung mit Java
Elemente einer App
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Activities
• Wird als Klasse implementiert
• Abgeleitet von android.app.activity
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Lebenszyklus der Activity
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Lebenszyklus der Activity
• Laufend (running)
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Lebenszyklus der Activity
• Laufend (running)
• Pausierend
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Lebenszyklus der Activity
• Laufend (running)
• Pausierend
• Gestoppt
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Lebenszyklus der Activity
• Laufend (running)
• Pausierend
• Gestoppt
• Prioritäten
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Activities
• Wird als Klasse implementiert
• Abgeleitet von android.app.activity
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Activities
• Wird als Klasse implementiert
• Abgeleitet von android.app.activity
• Intents
• „Nachrichtensystem“
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Activities
• Wird als Klasse implementiert
• Abgeleitet von android.app.activity
• Intents
• „Nachrichtensystem“
• Starten einer Activity oder einer anderen App
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Activities
• Wird als Klasse implementiert
• Abgeleitet von android.app.activity
• Intents
• „Nachrichtensystem“
• Starten einer Activity oder einer anderen App
• Explizite Intents
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Activities
• Wird als Klasse implementiert
• Abgeleitet von android.app.activity
• Intents
• „Nachrichtensystem“
• Starten einer Activity oder einer anderen App
• Explizite Intents
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Activities
• Wird als Klasse implementiert
• Abgeleitet von android.app.activity
• Intents
• „Nachrichtensystem“
• Starten einer Activity oder einer anderen App
• Explizite Intents
• Implizite Intents
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Activities
• Wird als Klasse implementiert
• Abgeleitet von android.app.activity
• Intents
• „Nachrichtensystem“
• Starten einer Activity oder einer anderen App
• Explizite Intents
• Implizite Intents
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Activities • Wird als Klasse implementiert
• Abgeleitet von android.app.activity
• Intents • „Nachrichtensystem“
• Starten einer Activity oder einer anderen App
• Explizite Intents
• Implizite Intents
• Broadcast-Receiver (System Intents)
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Views
• einfache Steuerelemente (Zeichenfläche z.B. Label)
• Abgeleitet von android.view.*
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Views
• einfache Steuerelemente (Zeichenfläche z.B. Label)
• Abgeleitet von android.view.*
• Widgets
• Steuerelemente (z.B. Buttons, CheckBox)
• Abgeleitet von android.widget.*
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Asynchrone Aufrufe
• Klasse AsyncTask
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Asynchrone Aufrufe
• Klasse AsyncTask
Für Vorgänge die längere Zeit zur Ausführung benötigen
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Services
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Services
• Hintergrunddienste
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Services
• Hintergrunddienste
• Ohne sichtbare Oberfläche
Fortgeschrittene Programmierung mit Java
Elemente einer App
• Services
• Hintergrunddienste
• Ohne sichtbare Oberfläche
Beispiele für Services:
Audioplayer, Antivirenprogramme, Nachrichten abrufen
(E-Mail, Facebook, Twitter …)
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Hallo Android!
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Hallo Android!
Neues Android Projekt anlegen:
File New Project Android Project
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektname
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektname API auswählen
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektname API auswählen Package Name
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Der Ordner src (Source) • de.Loschwitz.HelloAndroid
• MainActivity.java
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Der Ordner src (Source) • de.Loschwitz.HelloAndroid
• MainActivity.java
• Die Android-Zielbibliothek • android.jar
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Der Ordner src (Source) • de.Loschwitz.HelloAndroid
• MainActivity.java
• Die Android-Zielbibliothek • android.jar
• Der Ordner assets
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Der Ordner src (Source) • de.Loschwitz.HelloAndroid
• MainActivity.java
• Die Android-Zielbibliothek • android.jar
• Der Ordner assets
• Der Ordner res
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Der Ordner src (Source) • de.Loschwitz.HelloAndroid
• MainActivity.java
• Die Android-Zielbibliothek • android.jar
• Der Ordner assets
• Der Ordner res • values
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Der Ordner src (Source) • de.Loschwitz.HelloAndroid
• MainActivity.java
• Die Android-Zielbibliothek • android.jar
• Der Ordner assets
• Der Ordner res • values
Benennung von Ressourcen im Ordner values: • arrays.xml für Array-Ressourcen zur gemeinsamen Speicherung von ähnlichen Elementen • colors.xml für Ressourcen, die Farbwerte definieren • dimens.xml für Ressourcen, die Abmessungen definieren • string.xml für Stringwerte • styles.xml für Formatvorlagen (ähnlich CSS in HTML) Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Der Ordner src (Source) • de.Loschwitz.HelloAndroid
• MainActivity.java
• Die Android-Zielbibliothek • android.jar
• Der Ordner assets
• Der Ordner res • values • layout
• main.xml
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Der Ordner libs
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Der Ordner libs
Wird standartmäßig nicht erstellt
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Der Ordner libs
Wird standartmäßig nicht erstellt Dient zur Ablage privater Bibliotheken
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Der Ordner libs
Wird standartmäßig nicht erstellt Dient zur Ablage privater Bibliotheken
Zum Beispiel: Twitter (jtwitter.jar) Viele Betreiber von Homepages oder Geräten bieten eigene Bibliotheken an. So kann mit einfachen Mitteln auf diese zugegriffen werden.
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Der Ordner gen • R.java
Über die Klasse R wird im Quellcode auf die im Ordner res abgelegten Ressourcen verwiesen.
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Die Manifest-Datei der App • AndroidManifest.xml
Hier werden alle wesentlichen Informationen gesammelt
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Die Manifest-Datei der App • AndroidManifest.xml
Hier werden alle wesentlichen Informationen gesammelt Den Namen des Java-Pakets für die Anwendung
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Die Manifest-Datei der App • AndroidManifest.xml
Hier werden alle wesentlichen Informationen gesammelt Den Namen des Java-Pakets für die Anwendung Die Komponenten der Anwendung
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Die Manifest-Datei der App • AndroidManifest.xml
Hier werden alle wesentlichen Informationen gesammelt Den Namen des Java-Pakets für die Anwendung Die Komponenten der Anwendung Die Deklaration der Berechtigungen
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Die Manifest-Datei der App • AndroidManifest.xml
Hier werden alle wesentlichen Informationen gesammelt Den Namen des Java-Pakets für die Anwendung Die Komponenten der Anwendung Die Deklaration der Berechtigungen Die Android-API Version
Fortgeschrittene Programmierung mit Java
Erste Android-App erstellen
Projektstruktur
• Die Manifest-Datei der App • AndroidManifest.xml
Hier werden alle wesentlichen Informationen gesammelt Den Namen des Java-Pakets für die Anwendung Die Komponenten der Anwendung Die Deklaration der Berechtigungen Die Android-API Version Die Version der App selbst (einfacher Integerwert)
Fortgeschrittene Programmierung mit Java
Verteilung im Google-Market / Play Store
Fortgeschrittene Programmierung mit Java
Verteilung im Google-Market / Play Store
Fortgeschrittene Programmierung mit Java
Registrierung in der Android Developer Console https://play.google.com/apps/publish/signup
Einmalige 25 $ Gebühr
Dann können die Apps dort hochgeladen werden
Verteilung im Google-Market / Play Store
Fortgeschrittene Programmierung mit Java
Registrierung in der Android Developer Console https://play.google.com/apps/publish/signup
Einmalige 25 $ Gebühr
Dann können die Apps dort hochgeladen werden
Worauf ist zu achten?
Verteilung im Google-Market / Play Store
Fortgeschrittene Programmierung mit Java
Registrierung in der Android Developer Console https://play.google.com/apps/publish/signup
Einmalige 25 $ Gebühr
Dann können die Apps dort hochgeladen werden
Worauf ist zu achten?
App nicht größer als 50 MB
Verteilung im Google-Market / Play Store
Fortgeschrittene Programmierung mit Java
Registrierung in der Android Developer Console https://play.google.com/apps/publish/signup
Einmalige 25 $ Gebühr
Dann können die Apps dort hochgeladen werden
Worauf ist zu achten?
App nicht größer als 50 MB
Zwei Screenshots der App hochladen
Verteilung im Google-Market / Play Store
Fortgeschrittene Programmierung mit Java
Registrierung in der Android Developer Console https://play.google.com/apps/publish/signup
Einmalige 25 $ Gebühr
Dann können die Apps dort hochgeladen werden
Worauf ist zu achten?
App nicht größer als 50 MB
Zwei Screenshots der App hochladen
App-Symbol extra hochladen
Verteilung im Google-Market / Play Store
Fortgeschrittene Programmierung mit Java
Detailangaben für den Market
Sprache
Titel der App im Market (1 Name pro Sprache möglich)
Beschreibung (max. 4000 Zeichen)
Letzte Änderung (bei Updates)
App-Typ (Apps und Spiele)
Kategorie
Kontaktinformationen
Als Supportkanal für die Appnutzer (Website, E-Mail, Telefon)
Vor- und Nachteile gegenüber iOS
Fortgeschrittene Programmierung mit Java
Vorteile:
Nachteile:
Vor- und Nachteile gegenüber iOS
Fortgeschrittene Programmierung mit Java
Vorteile: • Hardwareunabhänige Entwicklung
mit Eclipse
• Kostenfreie Entwicklung
• Alternativer Markt
• Jeder kann seine Apps vertreiben
Nachteile: • Nur Kreditkartenzahlung mit Market
möglich
• Keine Überprüfung des Codes
Quellen
Fortgeschrittene Programmierung mit Java
Android Apps Entwicklung für Dummies ISBN: 978-3-527-70732-4
Einführung in die Android Entwicklung ISBN: 9/8-3-80899-1147
Android 3 ISBN: 978-3-8362-1697-5
http://developer.android.com
http://developer.android.com/training/index.html