Smartphone Entwicklung mit Android und Java - predic8.de · Smartphone Entwicklung mit Android und...

Post on 04-Jun-2018

221 views 0 download

Transcript of Smartphone Entwicklung mit Android und Java - predic8.de · Smartphone Entwicklung mit Android und...

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