App Entwicklung für Android -...

Post on 07-Feb-2018

223 views 2 download

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