+ All Categories
Home > Documents > Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT...

Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT...

Date post: 02-Sep-2019
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
22
Einführung in Android 9. Dezember 2014
Transcript
Page 1: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Einführung in Android

9. Dezember 2014

Page 2: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Taentzer Einführung in die Softwaretechnik 261

Was ist Android?

Software für mobile Geräte: Betriebssystem Middleware Kernanwendungen

Android SDK: Tools und APIs zur Entwicklung von Anwendungen auf der

Android-Plattform URL für Entwickler: developer.android.com

Open Source Software

Page 3: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Taentzer Einführung in die Softwaretechnik 262

Android Architektur

developer.android.com

Page 4: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Taentzer Einführung in die Softwaretechnik 263

Bibliotheken, Runtime und Kernel

Android enthält eine Reihe von C/C++-Bibliotheken. z.B. SGL und 3D Librairies für 2D und 3D-Darstellungen z.B. SQLite als leichtgewichtiges relationales Datenbank-system

Android Runtime Jede Android-Anwendung läuft in einem eigenen Prozess mit der

sogenannten Dalvik Virtual Machine. Die Dalvik VM basiert auf einem Linux Kernel.

Linux Kernel Android basiert auf der Linux Kernel Version 3.0.1 Der Kernel fungiert als Abstraktionsebene zwischen Hardware und

dem Rest des Software Stack.

Page 5: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Taentzer Einführung in die Softwaretechnik 264

Android Anwendungen Android enthält eine Reihe von

Kernanwendungen. Email -Client, SMS-Programm,

Kalender, Karten, Web-Browser, Kontakte, etc.

Alle Anwendungen sind in Java geschrieben.

Jede Anwendung hat ihre eigene Umgebung: eigener Linux-Prozess eigene Java-VM eindeutige Linux User Id (kann

auch von anderen Anwendungen genutzt werden)

developer.android.com

Page 6: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Der Android SDK Manager

Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools).

Zur Konfiguration von Android-Versionen, die zur Entwicklung benutzt werden. Start: Windows-> Android SDK

Manager Es können mehrere Versionen

ausgewählt werden.

Taentzer Einführung in die Softwaretechnik 265

Page 7: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Starten einer App im Emulator

Android Virtual Device (AVD) anlegen AVD Manager aufrufen mit Create ein neues AVD

anlegen

Taentzer Einführung in die Softwaretechnik 266

Page 8: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Start einer App mit Genymotion

Alternative für einen schnellen Emulator: www.genymotion.com kann als weiteres Device

genutzt werden

Download: Genymotion (mit Oracle

Virtual Box) Plugin für Eclipse oder

Intellij IDEA frei für persönliche Nutzung

Taentzer Einführung in die Softwaretechnik 267

Page 9: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Beispiel: Eine einfache App für ein Bestellsystem

Taentzer Einführung in die Softwaretechnik 268

Page 10: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Taentzer Einführung in die Softwaretechnik 269

Application Framework

Activity Manager: organisiert den Lebenszyklus einer Anwendung

Views: graphische Komponenten zum Aufbau einer Anwendung, z.B. Listen, Textfelder, Knöpfe und auch ein einbettbarer Web-Browser

Content Providers: ermöglichen den Zugriff auf Daten, auch aus anderen Anwendungen

Resource Manager: Zugriff auch Resourcen, die nicht Code sind, z.B. Graphiken

Notification Manager: zur Benachrichtigung des Nutzers über Ereignisse

Page 11: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Taentzer Einführung in die Softwaretechnik 270

Application ComponentsAusführbare Anwendungsteile: Activities: visuelle Komponente

Beispiel: Liste von textuellen Kommentaren Eine Anwendung kann mehrere Activities haben, die sich gegenseitig

benutzen. Eine Activity ist als Start-Activity markiert. Jede Activity hat ein eigenes Fenster, in das sie zeichnet.

Services: nicht sichtbare Komponenten Beispiel: Ein Service, der Musik abspielt

Broadcast Receiver: hört auf Broadcast-Nachrichten Beispiel: Wechsel der Zeitzone, geringer Batteriestand, Aufnahme eines

Fotos, etc. Content Providers: veröffentlicht eine Menge von Daten für andere

Anwendungen Daten sind meist in einer SQLite-Datenbank gespeichert.

Page 12: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Erstellung einer neuen Android App

Erstellung einer lauffähigen App: File>New>Android

Application Project

Taentzer Einführung in die Softwaretechnik 271

Page 13: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Taentzer Einführung in die Softwaretechnik 272

Die Android Manifest-DateiAndroidManifest.xml informiert Android über die Komponenten der Anwendung:

Start-Activity

Page 14: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Beispiel: Aufbau eines Android Application Projekts

Taentzer Einführung in die Softwaretechnik 273

Page 15: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Taentzer Einführung in die Softwaretechnik 274

Layout graphischer Komponenten Layout-Definition durch eine

XML-Layout Datei. Jedes XML-Element ist

entweder ein View oder ein ViewGroup-Objekt.

Vordefinierte ViewGroup-Objekte: LinearLayout RelativeLayout AbsoluteLayout TableLayout etc.

Layout-Parameter: height, width vordefinierte Werte:

fillParent: füllt Platz des ParentView aus

wrap_content: umhüllt den Inhalt minimal

@+id/… verweist auf ids in der Datei R.java

Page 16: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Taentzer Einführung in die Softwaretechnik 275

Die Datei R.java

R.java wird aus den Inhalten im Ordner /res generiert und liegt unter /gen.

R.java soll nicht geändert werden. Sie enthält einen Index für alle Ressourcen der

Anwendung. Ressourcen sind z.B. Namen und Ids von graphischen Elementen.

Diese Klasse kann als Abkürzung für die Referenzierung von Ressourcen genutzt werden.

Page 17: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Taentzer Einführung in die Softwaretechnik 276

Lebenszyklus einer Activity Eine Activity hat drei mögliche Zustände:

active oder running: auf dem Display zu sehen, Fokus der Ausführung paused: sichtbar, aber hat nicht den Fokus. Eine andere Activity liegt

darüber. stopped: nicht sichtbar und ohne Fokus, der Zustand und die Daten

werden solange gehalten, wie Speicher vorhanden Zustandswechsel werden durch Methodenaufrufe mitgeteilt:

void onCreate(Bundle savedInstanceState) void onStart() void onRestart() void onResume() void onPause() void onStop() void onDestroy()

Alle Activities müssen onCreate() implementieren.

Diese Methoden sollten zuerst die entsprechende

Supermethode aufrufen.

Page 18: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Taentzer Einführung in die Softwaretechnik 277

Lebenszyklus einer Activity onCreate(): das normale Setup, Bundle-Objekt übergibt den bisherigen

Zustand, danach direkt onStart() und onResume() onPause(): eine andere Activity wird aktiv, ungesicherte Daten werden

gespeichert onStop(): eine andere Activity wird sichtbar oder Activity wird zerstört,

onPause() wird immer vorher aufgerufen

developer.android.com

Page 19: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Beispiel: MainActivity.java

Taentzer Einführung in die Softwaretechnik 278

onCreate wird überschrieben

Finden von graphischen Komponenten mit

findViewById

Ids graphischer Komponenten in R.java

Anonyme Klasse zur Behandlung von Events

Page 20: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Ereignisse Die Interaktion mit graphischen

Komponenten (Views) erfolgt über Ereignisse.

Beispiele für Ereignisse (Events): Drücken eines Button

(on Click) Drücken einer Taste

(on Key) Berühren des Bildschirms

(on Touch)

Zum Reagieren auf ein Ereignis muss ein View als EventListenerregistriert sein. Z.B: OnClickListener,

OnKeyListener, OnTouchListener Über Ereignisse werden

Benutzereingaben an graphische Komponenten kommuniziert.

Je nach Typ der graphischen Komponente sind bestimmte Ereignisse aktiv.

Taentzer Einführung in die Softwaretechnik 279

Page 21: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Debuggen von Android Apps

Breakpoints im Code setzen

App im Debug-Modus ausführen

Zur Debug Perspektive wechseln

Schrittweise ausführen Code und Variablen

inspizieren

Taentzer Einführung in die Softwaretechnik 280

Page 22: Einführung in Android - uni-marburg.de · Nach der Installation einer Eclipse-Version mit ADT (Android Developer Tools). Zur Konfiguration von Android-Versionen, die zur Entwicklung

Taentzer Einführung in die Softwaretechnik 281

Zusammenfassung Android bietet einen Software-Stack für mobile Geräte,

bestehend aus Betriebssystem, Middleware und Kernanwendungen

Android SDK bietet Tools und APIs zur Entwicklung von Anwendungen auf der Android-Plattform

Activities folgen einem vorgegebenen Zustands-automaten. Dadurch behält der Benutzer die maximale Kontrolle über die Anwendungen.

Graphische Komponenten werden separat vom Code in XML spezifiziert.

Jede Anwendung läuft in einem eigenen Prozess mit eigener Virtual Machine.


Recommended