Mobile Application Development



Ähnliche Dokumente
Walkabout: Location Based Services mit Android und dem Google Phone

Smartphone Entwicklung mit Android und Java

Lokale Installation von DotNetNuke 4 ohne IIS

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand Copyright

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Liferay 6.2. Open Source IT-Dienstleister. Ein modernes Open Source Portal System. forwerts solutions GmbH, Gabriele Maas

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Java Entwicklung für Embedded Devices Best & Worst Practices!

JEAF Cloud Plattform Der Workspace aus der Cloud

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

Wie richten Sie Ihr Web Paket bei Netpage24 ein

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

OP-LOG

Zeichnungskoordination in der Cloud

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Installation von NetBeans inkl. Glassfish Anwendungs-Server

4D Server v12 64-bit Version BETA VERSION

Inhaltsverzeichnis. Beschreibung. Hintergrund

Konfigurationsanleitung Tobit David Fax Server mit Remote CAPI Graphical User Interface (GUI) Seite - 1 -

Betriebshandbuch. MyInTouch Import Tool

Version 0.3. Installation von MinGW und Eclipse CDT

DATENSICHERUNG MOBILE ENDGERÄTE

DATENSICHERUNG MOBILE ENDGERÄTE

1. Zugriff auf das Lonza Netzwerk von ihrem privaten PC oder von einem Internet Café

Benutzerleitfaden MobDat-CSG (Nutzung des Heimrechners für dienstliche Zwecke)

Internet Explorer Version 6

HP Software Patch- und Version-Notification

OCTOPUS Appointment System von ADCOTEL -- System Architektur Version 1.1 vom Adcotel GmbH. I. Übersicht

Systemeinstellungen im Internet Explorer für WEB-KAT

Erste Erfahrungen mit Android

Enterprise Control Center. Systemvoraussetzungen V2.1

Update / Inbetriebnahme domovea Server. Update/Inbetriebnahme domovea Server Technische Änderungen vorbehalten

Adminer: Installationsanleitung

Revox Joy S232 App D 1.0

BSV Software Support Mobile Portal (SMP) Stand

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Lizenzen auschecken. Was ist zu tun?

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Apps-Entwicklung mit Eclipse

Eine Anwendung mit InstantRails 1.7

Der Product Activation Manager (PAM) dient dazu Software-Lizenzen anzuzeigen, zu verwalten und abzurufen.

Kleines Handbuch zur Fotogalerie der Pixel AG

Vorarlberger Standardschulinstallation Anbindung von Android Mobile Devices

Matrix42. Use Case - Inventory. Version Februar

Installation von horizont 4 bei Verwendung mehrerer Datenbanken

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

IT-Tutorial. Access Microsoft. Infos zur Migration von Access I MPRESSUM

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages

Übung: Verwendung von Java-Threads

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Einführung in Android. 9. Dezember 2014

Systemanforderungen (Mai 2014)

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

1 Was ist das Mediencenter?

Revit Modelle in der Cloud: Autodesk 360 Mobile

SharePoint 2013 Mobile Access

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Ein mobiler Electronic Program Guide

Umbenennen eines NetWorker 7.x Servers (UNIX/ Linux)

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Der einfache Weg zum CFX-Demokonto

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

auf den E-Book-Reader

ROFIN App Benutzerhandbuch. Version 1.0

LEHRSTUHL FÜR DATENBANKEN

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

fãéçêíáéêéå=éáåéë=`äáéåíjwéêíáñáâ~íë= áå=çéå=_êçïëéê=

Professionelle Seminare im Bereich MS-Office

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

ANLEITUNG GERÄTEREGISTRATION AN KRZ.SMK

Mobile Konsole von NetSupport DNA Erste Schritte. Copyright 2011 NetSupport Ltd alle Rechte vorbehalten

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

2. Installation unter Windows 8.1 mit Internetexplorer 11.0

An integrated total solution for automatic job scheduling without user interaction

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Howto. Einrichten des TREX Monitoring mit SAP Solution Manager Diagnostics

> Soft.ZIV. Maple Mathematisches Software System

MS Outlook Integration

Installation Hardlockserver-Dongle

Abschlussarbeiten für StudentInnen

Kurzanleitung Installation der Zend Studio Sprachpakete

SALSAH eine virtuelle Forschungsumgebung für die Geisteswissenschaften

Transkript:

Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann das Android Programmiermodell für die Entwicklung mobiler Anwendungen beschreiben und anwenden kann die Komponenten und Strukturen des Android Frameworks beschreiben und anwenden kann die Werkzeuge des Android SDK effizient einsetzen und kennt deren Einsatzbereich und Grenzen kann einfache GUIs auf Android realisieren und kennt Optimierungsmöglichkeiten kann eine mobile verteilte Anwendungen auf Android realisieren 2 1

Ziele heute Eine Einführung in Android vermittelt die wichtigsten Konzepte Die Entwicklungsumgebung ist installiert Eine erste kleine Applikation ist geschrieben und im Emulator ausführbar 3 Android System Architecture 4 2

Linux Kernel Android baut auf dem Linux Kernel 2.6 auf Der Linux Kernel ist für Speicherverwaltung, die Prozessverwaltung und die Netzwerkkommunikation zuständig. Zudem stellt er die Gerätetreiber für das System zur Verfügung. Der Linux Kernel bildet die Hardware Abstraktion Schicht für den Rest der Software Dank Linux und der Hardware Abstraktion wird eine Portierung auf eine breite Palette von Plattformen möglich: Mobile Phones (HTC, Motorola, Sony Ericsson,...) Netbook (Asus, HP,...) Multimedia Tablet (Archos) 5 Android Debug Bridge (adb) adb ist ein Entwicklungstool, um auf der Targetplattform (Emulator, Device) eine Linux Shell zu öffnen $ adb shell adb ist eine Client-Server Applikation. Client als Frontend auf dem Entwicklungsrechner Server als Background Prozess auf dem Entwicklungsrechner Daemon auf dem Targetsystem (TCP Port 5037) Nützliche Kommandos adb pull <remote> <local> Datei oder Folder vom Target System auf den eigenen Rechner kopieren adb push <local> <remote> Daten oder Folder auf das Target System kopieren 6 3

Native Libraries Bibliotheken ausschliesslich in C und C++ und vom Hersteller vorinstalliert Der Entwickler wird diese Bibliotheken nicht direkt nutzen, sondern ausschliesslich über das Application Framework Interessante Bibliotheken sind: Surface Manager Window Manager speziell für Mobile Geräte 2D und 3D Graphics Effiziente Unterstützung der 2D und 3D Graphik, falls vorhanden auch mit Hilfe der Hardware Media Codecs Unterstützung für Video und Audio SQL Database SGLite Datenbank (wie auch Firefox und iphone) Browser Engine WebKit Library (wie auch iphone, Google Chrome,...) 7 Android Runtime Die Android Runtime besteht im Wesentlichen aus Dalvik VM Core Libraries Dalvik VM Google's Implementation einer JVM, aber speziell optimiert für mobile Geräte Dalvik VM führt.dex Files aus. Diese werden in der Kompilierungsphase aus den.class und.jar Files erstellt. Core Libraries Sie bilden ein Subset von Java SE Version 5. Unterstützung für Sprachkonstrukte aus Java 6 können in Zukunft folgen. Aber mächtiger als Java ME 8 4

Application Framework Hier findet man die Building Blocks für die eigenen Applikationsentwicklung Activity Manager Kontrolliert den Lebenszyklus einer Applikation Content Providers Abstraktionsschicht auf Daten, die von verschiedenen Anwendungen genutzt werden können. Resource Manager Verwaltung der Resourcen (Bilder, Texte,...) einer Applikation Location Manager Notification Manager 9 Applications Die Applikationen bilden die oberste Schicht der Android Architektur. Der Endbenutzer wird nur diese Applikationen verwenden. Verschiedene Applikationen sind beim Kauf eines Gerätes vorinstalliert: Phone Dialer Email Contacts Calendar Web Browser Android Market 10 5

Die Applikation zur Laufzeit Es gibt immer genau eine einzige Applikation im Vordergrund. Diese Applikation hat den Fokus und normalerweise den gesamten Bildschirm. Beim Start einer neuen Applikation wird diese in den Vordergrund geholt. Der User kann nun wieder eine neue Applikation starten, zu einem weiteren Screen innerhalb der gleichen Applikation wechseln,... Alle Applikationen und Screens werden durch dem Activity Manager auf einem Application Stack abgelegt. Deshalb kann der Benutzer mit dem Back Button jederzeit auf die vorhergehende Applikation, Screen wechseln. (vgl. mit History im Web Browser!) 11 Process!= Application Jedes User Interface (Screen) wird durch eine Activity repräsentiert. Jede Activity hat ihren eigenen Lebenszyklus. Eine Applikation besteht demnach aus ein oder mehreren Activities und einem Linux Prozess. ABER: Eine Android Applikation kann ohne Linux Prozess "weiterleben" 12 6

Der Lebenszyklus einer Activity Applikation starten Home Button drücken 13 Beispiel: Portrait -> Landscape 14 7

Beispiel: Einkommender Anruf 15 Die Android Komponenten Activity Ist ein User Interface Screen. Eine Applikation kann mehrere Activities umfassen. Intent Ist ein Mechanismus um eine bestimmte Aktion zu beschreiben: "Pick a photo", "Open URL in browser" Activities werden über Intents aufgerufen, auch innerhalb einer Applikation. Dadurch können Standardapplikation einfach ersetzt werden, in dem die neue Applikation den gleichen Intent verarbeiten kann wie die alte. Service Ist ein Background Task, analog Unix daemon. Content Provider Zusammenfassung einer Schnittstelle (API) auf gemeinsam genutzte Datenbestände, z.b. in einer SQL DB. Normale Weg um Daten zu teilen 16 8

Resources Beim Build werden alle Resourcen (Text String, Bitmaps,...) in die Applikation eingebaut. Bei der Applikationsentwicklung werden alle Resourcen im Folder "res" abgelegt. Der Android Resource Compiler komprimiert und packt die Resourcen in die Java Klasse R. Validierung möglich Komprimierung möglich Das Eclipse Plugin automatisiert diesen Schritt! 17 Sicherheit Jede Applikation hat eine eigenen Linux Prozess Es gibt keine gemeinsame Speicherbereiche. Jede Applikation hat eine eigene User ID. Zugriffe auf kritische Operationen sind nur mit entsprechenden Zugriffsrechte möglich. Beispiele: Zugriff auf das Internet Kontakte lesen SMS erhalten 18 9

Resources http://developer.android.com/ Die Entwickler Site von Google Android. Hier findet man alle wichtigen Infos zur Applikationsentwicklung auf Android. http://source.android.com/ Das Android Open Source Projekt von Google. Hier findet man den Quellcode zur Android Plattform. http://androidguys.com/ Nützliche Informationen für den Entwickler rund um das Android Projekt. 19 10