PDF file

Werbung
App Entwicklung für Android
FORTGESCHRITTENE PROGRAMMIERUNG IN JAVA
DOZENT:
REFERENT:
PROF. DR. KLINKER
RICO LOSCHWITZ
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
Fortgeschrittene Programmierung mit Java
API auswählen
Erste Android-App erstellen
Projektname
Fortgeschrittene Programmierung mit Java
API auswählen
Package Name
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 Programmierung
für Formatvorlagen
Fortgeschrittene
mit Java (ähnlich CSS in HTML)
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
 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
Fortgeschrittene Programmierung mit Java
Verteilung im Google-Market / Play Store
 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?
Fortgeschrittene Programmierung mit Java
Verteilung im Google-Market / Play Store
 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
Fortgeschrittene Programmierung mit Java
Verteilung im Google-Market / Play Store
 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
Fortgeschrittene Programmierung mit Java
Verteilung im Google-Market / Play Store
 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
Fortgeschrittene Programmierung mit Java
Verteilung im Google-Market / Play Store
 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)
Fortgeschrittene Programmierung mit Java
Vor- und Nachteile gegenüber iOS
Vorteile:
Fortgeschrittene Programmierung mit Java
Nachteile:
Vor- und Nachteile gegenüber iOS
Vorteile:
Nachteile:
• Hardwareunabhänige Entwicklung
mit Eclipse
• Nur Kreditkartenzahlung mit Market
möglich
• Kostenfreie Entwicklung
• Keine Überprüfung des Codes
• Alternativer Markt
• Jeder kann seine Apps vertreiben
Fortgeschrittene Programmierung mit Java
Quellen
 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
Fortgeschrittene Programmierung mit Java
Herunterladen