App Entwicklung für Android -...

85
FORTGESCHRITTENE PROGRAMMIERUNG IN JAVA DOZENT: PROF. DR. KLINKER REFERENT: RICO LOSCHWITZ App Entwicklung für Android

Transcript of App Entwicklung für Android -...

Page 1: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 2: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Aufbau der Präsentation

Die Grundlagen von Android

Fortgeschrittene Programmierung mit Java

Page 3: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Aufbau der Präsentation

Die Grundlagen von Android

Vorbereitung von Eclipse

Fortgeschrittene Programmierung mit Java

Page 4: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Aufbau der Präsentation

Die Grundlagen von Android

Vorbereitung von Eclipse

Elemente einer App

Fortgeschrittene Programmierung mit Java

Page 5: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Aufbau der Präsentation

Die Grundlagen von Android

Vorbereitung von Eclipse

Elemente einer App

Erste Android-App erstellen

Fortgeschrittene Programmierung mit Java

Page 6: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 7: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 8: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 9: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Die Grundlagen von Android

Die Entwicklungsgeschichte:

Fortgeschrittene Programmierung mit Java

Page 10: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Die Grundlagen von Android

Die Entwicklungsgeschichte:

2005: Übernahme der Firma Android durch Google

Fortgeschrittene Programmierung mit Java

Page 11: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 12: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 13: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 14: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 15: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 16: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Die Grundlagen von Android

Stand: 05.03.2012 Quelle: http://developer.android.com/resources/dashboard/platform-versions.html

Fortgeschrittene Programmierung mit Java

Page 17: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Die Grundlagen von Android

Die Entwicklungsumgebung:

Fortgeschrittene Programmierung mit Java

Page 18: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Die Grundlagen von Android

Die Entwicklungsumgebung:

(Beta)

Google AppInventor (Offline 12.2011 – 03.2012)

Fortgeschrittene Programmierung mit Java

Page 19: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Die Grundlagen von Android

Die Entwicklungsumgebung:

Google AppInventor (Offline)

Eclipse mit Android SDK und Android Virtual Device(AVD)

Fortgeschrittene Programmierung mit Java

Page 20: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Die Grundlagen von Android

Der App Inventor:

Fortgeschrittene Programmierung mit Java

Page 21: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Die Grundlagen von Android

Der App Inventor:

Entwicklungsumgebung nach dem Baukastenprinzip

Fortgeschrittene Programmierung mit Java

Page 22: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 23: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Die Grundlagen von Android

Der App Inventor:

Fortgeschrittene Programmierung mit Java

Page 24: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Vorbereitung von Eclipse

Eclipse mit Android SDK und AVD:

Fortgeschrittene Programmierung mit Java

Page 25: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 26: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 27: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 28: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

Fortgeschrittene Programmierung mit Java

Page 29: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

• Activities

• Wird als Klasse implementiert

• Abgeleitet von android.app.activity

Fortgeschrittene Programmierung mit Java

Page 30: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

• Lebenszyklus der Activity

Fortgeschrittene Programmierung mit Java

Page 31: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

• Lebenszyklus der Activity

• Laufend (running)

Fortgeschrittene Programmierung mit Java

Page 32: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

• Lebenszyklus der Activity

• Laufend (running)

• Pausierend

Fortgeschrittene Programmierung mit Java

Page 33: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

• Lebenszyklus der Activity

• Laufend (running)

• Pausierend

• Gestoppt

Fortgeschrittene Programmierung mit Java

Page 34: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

• Lebenszyklus der Activity

• Laufend (running)

• Pausierend

• Gestoppt

• Prioritäten

Fortgeschrittene Programmierung mit Java

Page 35: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

• Activities

• Wird als Klasse implementiert

• Abgeleitet von android.app.activity

Fortgeschrittene Programmierung mit Java

Page 36: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

• Activities

• Wird als Klasse implementiert

• Abgeleitet von android.app.activity

• Intents

• „Nachrichtensystem“

Fortgeschrittene Programmierung mit Java

Page 37: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 38: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 39: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 40: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 41: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 42: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 43: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

• Views

• einfache Steuerelemente (Zeichenfläche z.B. Label)

• Abgeleitet von android.view.*

Fortgeschrittene Programmierung mit Java

Page 44: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 45: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

• Asynchrone Aufrufe

• Klasse AsyncTask

Fortgeschrittene Programmierung mit Java

Page 46: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

• Asynchrone Aufrufe

• Klasse AsyncTask

Für Vorgänge die längere Zeit zur Ausführung benötigen

Fortgeschrittene Programmierung mit Java

Page 47: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

• Services

Fortgeschrittene Programmierung mit Java

Page 48: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

• Services

• Hintergrunddienste

Fortgeschrittene Programmierung mit Java

Page 49: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Elemente einer App

• Services

• Hintergrunddienste

• Ohne sichtbare Oberfläche

Fortgeschrittene Programmierung mit Java

Page 50: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 51: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Erste Android-App erstellen

Fortgeschrittene Programmierung mit Java

Page 52: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Erste Android-App erstellen

Hallo Android!

Fortgeschrittene Programmierung mit Java

Page 53: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Erste Android-App erstellen

Hallo Android!

Neues Android Projekt anlegen:

File New Project Android Project

Fortgeschrittene Programmierung mit Java

Page 54: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Erste Android-App erstellen

Projektname

Fortgeschrittene Programmierung mit Java

Page 55: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Erste Android-App erstellen

Projektname API auswählen

Fortgeschrittene Programmierung mit Java

Page 56: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Erste Android-App erstellen

Projektname API auswählen Package Name

Fortgeschrittene Programmierung mit Java

Page 57: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Erste Android-App erstellen

Projektstruktur

Fortgeschrittene Programmierung mit Java

Page 58: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Erste Android-App erstellen

Projektstruktur

• Der Ordner src (Source) • de.Loschwitz.HelloAndroid

• MainActivity.java

Fortgeschrittene Programmierung mit Java

Page 59: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Erste Android-App erstellen

Projektstruktur

• Der Ordner src (Source) • de.Loschwitz.HelloAndroid

• MainActivity.java

• Die Android-Zielbibliothek • android.jar

Fortgeschrittene Programmierung mit Java

Page 60: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 61: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 62: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 63: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 64: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 65: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Erste Android-App erstellen

Projektstruktur

• Der Ordner libs

Fortgeschrittene Programmierung mit Java

Page 66: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Erste Android-App erstellen

Projektstruktur

• Der Ordner libs

Wird standartmäßig nicht erstellt

Fortgeschrittene Programmierung mit Java

Page 67: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Erste Android-App erstellen

Projektstruktur

• Der Ordner libs

Wird standartmäßig nicht erstellt Dient zur Ablage privater Bibliotheken

Fortgeschrittene Programmierung mit Java

Page 68: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 69: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 70: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Erste Android-App erstellen

Projektstruktur

• Die Manifest-Datei der App • AndroidManifest.xml

Hier werden alle wesentlichen Informationen gesammelt

Fortgeschrittene Programmierung mit Java

Page 71: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 72: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 73: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 74: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 75: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 76: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Verteilung im Google-Market / Play Store

Fortgeschrittene Programmierung mit Java

Page 77: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 78: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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?

Page 79: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 80: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 81: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 82: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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)

Page 83: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

Vor- und Nachteile gegenüber iOS

Fortgeschrittene Programmierung mit Java

Vorteile:

Nachteile:

Page 84: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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

Page 85: App Entwicklung für Android - users.etech.haw-hamburg.deusers.etech.haw-hamburg.de/.../wpss12/App_Entwicklung_fuer_Androi… · fortgeschrittene programmierung in java dozent: prof.

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