Post on 04-Jun-2018
transcript
Smartphone
Entwicklung mit
Android und Java
predic8 GmbH
Moltkestr. 40
53173 Bonn
Tel: (0228)5552576-0
www.predic8.de
info@predic8.de
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Was ist Android
Offene Plattform für mobile Geräte
Software
Kompletter Stack von OS bis zur Anwendung
Open Source
ASF Lizenz
2
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Warum Android
Offene und freie Plattform
Kompletter Stack mit Anwendung
Gute Toolunterstützung
Stark zunehmende Verbreitung
Java
3
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Lizenzen
Apache
BSD
GPL
LGPL
Closed Source
Apps von Drittanbieter
Treiber
4
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Android Architektur
5
Quelle: http://www.tbray.org/ongoing/When/201x/2010/11/14/What-Android-Is
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Linux Kernel
Verwaltet Speicher, Prozesse, Geräte, Netzwerk
Abstraktion zwischen Hardware und den übrigen Stack
Android nutzt nur Kernel von Linux
Es gibt zunächst keine Shell
Nutzt BSD libc, nicht glibc oder uClibc
6
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Native Bibliotheken
Mit C oder C++ realisiert
Surface Manager
2D und 3D Graphik
Media Codecs
SQLite DB
Browser Engines
Können von höheren Sprachen aufgerufen werden
7
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Dalvik
Enthält VM und Runtime
Kommuniziert über JNI mit nativem Code
Geräte können mehrere Dalvik Instanzen effizient parallel ausführen
Führt Dalvik Executables .dex aus
Register basiert
Setzt auf Linux Kernel auf
Memory Management
Threading
8
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Android SDK
Android Development Tool ADT
Eclipse Plugin
Debuger
Android Debug Bridge ADB
Dalvik Debug Monitor Server DDMS
Byte Code to Dalvik Translator DX
Android Application package Tool AAPK
Android Emulator QEMU
9
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Android Packages
JAR Format Variante
Bekommt eigene Linux user ID bei der Installation
Bekommt isolierte Sandbox
Extension: APK
Mime Type:
application/vnd.android.package-archive
10
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Aufbau einer GUI Anwendung
Besteht aus unabhängigen Bildschirmen
Jeder Bildschirm kann andere Bildschirme auch in einer fremden
Anwendung öffnen
Bildschirme heißen Activities
11
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Activity
Bauen UI auf
Behandeln Ereignisse
Führen Funktionen aus
Wird über eine Java Klasse realisiert
Sind Life cycle unterworfen
12
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
HelloAndroid
package com.example.helloandroid;
import android.app.Activity;
import android.os.Bundle;
public class HelloAndroid extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
13
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Live Cycle
14
Quelle: http://developer.android.com/guide/topics/fundamentals.html
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Service
Läuft in Hintergrund
Für langandauernde Aufgaben
Z.B. Musik abspielen
15
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Intents
Nachrichten
Aktivieren Activities, Services und Broadcast Receivers
Ermöglicht späte Bindung von Komponenten zur Laufzeit
Komponenten können auch von anderen Anwendungen stammen
16
Verb + Objekt
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Android Emulator
Basiert auf QEMU, einem generischen Emulator für ARM Prozessoren
Führt kompletten Android Stack samt Kernel aus
Kann mit AVD auf zu emulierende Hardware ausgeführt werden
ARM Code wird dynamisch auf Codes des Host OS umgesetzt
Emulierte Hardware Features
ARMv5 CPU, MMU, Keyboard, Sound Chip, LCD, Flash, GSM Modem,
SIM Karte
17
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Android Debug Bridge (ADB)
UNIX Shell für den Emulator
Port Forwarding
Dateisynchronisation mit dem Emulator
Besteht aus
Client
• läuft auf einem Entwickler PC
• adb
Server
• läuft auf einem Entwickler PC
Daemon
• läuft auf Emulator oder Android Gerät
18
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Data Storage
Shared Preferences
Internal Storage
External Storage
SQLite Datenbanken
Netzwerk
19
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Sicherheits Architektur
Keine Applikation hat das Recht die Sicherheit anderer Applikationen,
des OS oder des Benutzers zu beeinträchtigen (Default)
Jeder Prozess einer Anwendung läuft in einer Sandbox
Application Signing
20
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Android Versionen
21
Quelle: http://developer.android.com/resources/dashboard/platform-versions.html
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Fazit
Leichter Einstieg für Java Programmierer
Basiert auf offenen Technologien und Standards:
Linux, Java, XML
Umfangreiches API
Geniales Programmiermodell
22
© 2010 predic8 GmbHSmartphone Entwicklung mit Android und Java
Referenzen
http://developer.android.com
http://www.origamiaustria.at/diagrams/android.pdf
23
? ?
??
?Fragen ?
predic8 GmbH
Moltkestr. 40
53173 Bonn
www.predic8.de
info@predic8.de
24
Vielen Dank für ihre
Aufmerksamkeit !
predic8 GmbH
Moltkestr. 40
53173 Bonn
www.predic8.de
info@predic8.de