1. Software-Plattform Android Themenübersicht 1. Software-Plattform Android Themen/Lernziele: Mobile Informationssysteme: Grundbegriffe Elementare Eigenschaften von Android Android Software Stack Entwicklungsumgebung Prozess der Entwicklung Erste Beispiele Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 9
1. Software-Plattform Android Themenübersicht Mobile Anwendung kommuniziert drahtlos mit anderen Anwendungen Ortsunabhängigkeit evtl. Lokalisierbarkeit Besondere Anforderungen an Sicherheit, Identifizierbarkeit, Verfügbarkeit, Datenverteilung, Lastverteilung Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 10
1. Software-Plattform Android Themenübersicht Mobiles Informationssystem Ein Mobiles Informationssystem besteht aus einer oder mehreren mobilen Anwendungen und der darunter liegenden verteilten Datenhaltungsschicht. Bei mobilem Zugriff auf zentral verfügbare Informationen spricht man von einem Mobilität unterstützendem Informationssystem. Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 11
1. Software-Plattform Android Themenübersicht Mobilität Mobilität im Kontext mobiler Informationssysteme: geographische und zeitliche Änderungen einer mobilen Anwendung Mobile Computing befasst sich mit dem Einsatz von Informationstechnologie in mobilen Umgebungen. Berücksichtigt u. a. die Kommunikation von mobilen Anwendungen oder Clients untereinander. Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 12
1. Software-Plattform Android Mobile Informationssysteme: Grundbegriffe Mobile Computing Sammelbegriff für eine Reihe von Forschungsfeldern, die sich mit der nichtstationären Nutzung von Computertechnologie beschäftigen, z.b.: Ubiquitous Computing Pervasive Computing Wearable Computing Nomadic Computing Mobile Communications Wireless Communications Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 13
1. Software-Plattform Android Mobile Informationssysteme: Grundbegriffe Verwandte Begriffe Nomadic Computing: Verwendung mobiler Clients zusammen mit drahtloser Netzwerktechnologie. Stärkere Fokussierung auf die drahtlosen Kommunikationsfähigkeiten mobiler Clients. Ubiquitous Computing/Pervasive Computing: Weltweit vernetzte Systeme, die überall verfügbar sind und sich in Alltagsgegenstände integrieren. Technische Umsetzung einer digitalen Dienstleistung bleibt u. U. verborgen. Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 14
1. Software-Plattform Android Mobile Informationssysteme: Grundbegriffe Mobilität und Drahtlosigkeit nichtmobil mobil drahtgebunden stationärer Rechner Netbook mit Kabelanbindung drahtlos Desktop mit WLAN Handy mit UMTS Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 15
1. Software-Plattform Android Mobile Informationssysteme: Grundbegriffe Arten der Mobilität Endgerätemobilität: mobiles Endgerät mit permanent gesichertem drahtlosen Zugriff auf ein Kommunikationsnetz. Benutzermobilität: Ein Nutzer, der seinen Standort ändert, verwendet beliebige fest installierte oder mobile Endgeräte. Dienstmobilität: Ein Benutzer kann einen Kommunikations- oder Informationsdienst unabhängig vom Standort nutzen. Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 16
1. Software-Plattform Android Mobile Informationssysteme: Grundbegriffe Location Based Services Anwendungen, die die aktuelle Position eines Nutzers/Clients ermitteln und diese Position für die Erbringung der Nutzleistung ausnutzen heißen Location Based Services (LBS). Anwendungsgebiete für LBS: Suche nach speziellen Einrichtungen möglichst in der Nähe Navigation Lokalisation von Personen oder Objekten Verkehrsinformationen Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 17
1. Software-Plattform Android Mobile Informationssysteme: Grundbegriffe Ortsabhängige Werbung Weitergabe der Positionsdaten im Notfall Dynamische ortsabhängige WWW-Links Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 18
1. Software-Plattform Android Mobile Informationssysteme: Grundbegriffe Arten der Positionsbestimmung Tracking: Lokalisierung von Objekten oder Personen durch ein Sensornetz Objekt/Person ist mit einer Marke (Tag) ausgestattet. Positionsdaten liegen zunächst nur dem Positionsermittlungssystem vor. Positioning: Das/der Objekt/Client ermittelt seine Position selbständig System von Sendern oder Baken die Signale ausstrahlen Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 19
1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel 2.6 Managed Code, Angepasste Java Virtual Machine Bibliotheken, Laufzeitumgebung, Application Framework Entwicklungswerkzeuge Application Store (Andoid Market) Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 20
1. Software-Plattform Android Android Wer steht hinter Android? Google Open Handset Alliance (OHA), 84 Firmen z.b.: Google, ebay,... HTC, Motorola,... Intel, Qualcomm,... Vodafone, T-Mobile,... Ziel: Entwicklung von offenen Standards für mobile Geräte Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 21
1. Software-Plattform Android Android Versionen 1.5 Cupcake 1.6 Donut 2.0/2.1 EClair 2.2 Froyo 2.3 Gingerbread 3.0/3.1 Honeycomb 4.0 Ice Cream Sandwich Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 22
1. Software-Plattform Android Android Andere Plattformen für mobile Geräte Symbian OS Java ME Windows Mobile iphone OS Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 23
1. Software-Plattform Android Android T-Mobile G1 / HTC Dream Das erste verfügbare Android-Mobiltelefon: Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 24
1. Software-Plattform Android Android Android-Anwendungsprogramme E-Mail Clients: GMail, POP3, IMAP Personal Information Management (PIM): Synchronisation mit Google Calendar und Contacts WebKit-basierter Web-Browser SMS und Instant Messaging Android Market Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 25
1. Software-Plattform Android Android Android SDK Features XML-basiertes GUI-Layout (Trennung von Logik und Layout) Unterstützung zur automatische Anpassung an verschiedene Konfigurationen (Sprache, Display, etc.) Integration von Ressourcen (Grafiken, Audiodateien, XML-Dateien, etc.) Internet-Kommunikation: TCP, UDP und darauf basierende Protokolle Ad-Hoc Netzwerk: Bluetooth (RFCOMM bzw. SPP seit Android 2.0) Location API Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 26
1. Software-Plattform Android Android Kartendarstellungen (Google Maps, eigentlich kein Bestandteil von Android) Zugriff auf Sensoren und Aktoren DBMS (sqlite) Wiedergabe verschiedener Medien-Formate Aufnahme von Fotos und Videos Komponententechnologie Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 27
1. Software-Plattform Android Entwicklungsumgebung Was beinhaltet die Entwicklungsumgebung Android API Entwicklungswerkzeuge Eclipse Plugin Android Virtual Device Manager Dokumentation Beispiel Quelltexte Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 28
1. Software-Plattform Android Entwicklungsumgebung Android Software Stack Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 29
1. Software-Plattform Android Entwicklungsumgebung Linux Kernel: Basis von Android, Version 2.6, enthält Hardwaretreiber Android Runtime: Dalvik Virtual Machine Jede Anwendung läuft in eigenem Prozess und eigener virtueller Maschine Java Core Libraries kapseln Benutzung der Standard-Bibliotheken (Libraries) Libraries: C-Bibliotheken für grundlegende Funktionalitäten wie Datenbank, 3D-Grafik, Netzwerkzugriff, etc. Application Framework: Komponenten, die Systemdienste bereitstellen, zur Nutzung in Anwendungen Applications: Standard- und selbstentwickelte Anwendungen Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 30
1. Software-Plattform Android Entwicklungsumgebung Dalvik Virtual Machine Android nutzt eine eigene virtuelle Java Maschine, die Dalvik Virtual Machine. Dateiendung:.dex Basiert auf der Open-Source JVM Apache Harmony angepasst auf Effizienz für verschiedene Instanzen und Anforderungen für mobile Endgeräte Ausnutzung der Registerarchitektur moderner Prozessoren, angepasst an RISC-Architektur Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 31
1. Software-Plattform Android Entwicklungsumgebung SDK enthält Werkzeug zur Umwandlung von.class-dateien in.dex- Dateien. Keine Java-VM, daher keine Lizenzkosten an SUN, keine Auslieferung der Änderungen von Apache Harmony notwendig, da Apache License Das benutzte Java API (viele Teile von J2SE) ist nicht geschützt. Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 32
1. Software-Plattform Android Entwicklungsumgebung Aspekte der Anwendungsarchitektur Wichtige Bestandteile der Android-Architektur: Activity: Sichtbarer Teil einer Anwendungen zur Interaktion mit dem Benutzer, eigener Lebenszyklus, vgl. Applet, MIDlet Service: Teile einer Anwendung ohne Oberfläche für Hintergrundarbeiten Content Provider: Bereitstellung von Daten über Anwendungsgrenzen hinweg Broadcast Receiver: Teile einer Anwendung die auf Systemereignis lauschen und reagieren können Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 33
1. Software-Plattform Android Entwicklungsumgebung Intent, Intentfilter: Komponententechnologie, zur Verbindung von Komponenten View: Konstruktionselement für Benutzerschnittstellen Resource Manager: Einfacher Zugriff auf Non-Code Ressourcen einer Anwendung Notification Manager: Signalisierung von Ereignissen an den Benutzer Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 34
1. Software-Plattform Android Android Entwicklung Entwicklungswerkzeuge Grundlegenden Werkzeuge: Android Emulator bzw. Android Virtual Device Manager (AVD) Dalvik Debug Monitoring Service (DDMS) Android Asset Packaging Tool (AAPT) Android Debug Bridge (ADB) Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 35
1. Software-Plattform Android Android Entwicklung Weitere Helfer SQLite3: Zugriff auf SQLite-Datenbaken Traceview: Graphische Analyse der Trace-Logs von Android Anwendungen MkSDCard: Erzeugt ein SDCard Image für den Emulator dx: Wandelt.class Dateien in.dex Dateien Mobile Informationssysteme I Hochschule Bonn-Rhein-Sieg, Sommersemester 2012 36