Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Alfred Seidel Geändert vor über 8 Jahren
1
Seminarvortrag Entwicklung mobiler Applikationen mit Android Moritz Hübner (huebner@hia.rwth-aachen.de) Lehrstuhl für Medizintechnik Helmholtz-Institut für Biomedizinische Technik der RWTH Aachen Pauwelsstraße 20 52074 Aachen
2
Motivation Arbeit an einem Projekt Workfloweditor Anforderung Mobilität der App im Klinikalltag ergonomische Oberfläche Tablet mit Plattform Android Vorteil Entwicklung auf Windows möglich schnelles Prototyping und viele Quellen durch große Community Seminar wurde genutzt um Erfahrung mit Android zu sammeln Grundlage des Projekts
3
Überblick Motivation Hintergrund Was ist Android? Geschichte Welche Werkzeuge gibt es? Wie ist eine Applikation aufgebaut? Lebenszyklus einer Activity und Minimalactivity Die Oberfläche R.java Intents und Intentfilter Datenverwaltung und –speicherung SQLite Content Provider Fazit
4
kein Betriebssystem, sondern Kompendium verschiedener Software Linux als Betriebssystem (Treibermodell, Speicher- und Prozessverwaltung, Abstraktionsschicht etc.) Kernel 2.6 Dalvik als Laufzeitumgebung für Android Applikationen (virtuelle Maschine) auch vorinstallierte Anwendungen, wie der Email Client, werden dort ausgeführt erstellt von jeder Anwendung ein Dalvik Executable Ausführung auf Linux Email Client, Widget Unterstützung, Kontaktdatenbank, Uhr, Browser, Android Market (oft aber nicht immer), etc. Ausführung ebenfalls durch Dalvik Was ist Android?
5
Geschichte 2003 beginn der Entwicklung mit der neu gegründeten Android Inc. unter Andy Rubin Softwareentwickler bei Apple Inc., General Magic, Android Inc. und heute bei Google arbeitete bei General Magic bereits an einem Betriebssystem mit grafischer Oberfläche für mobile Geräte maßgebliche Beteiligung an der Auslieferung des ersten kabellosen PDAs 2005 Google kauft Android Inc. konsequente Fortsetzung der Entwicklung unter Andy Rubin 2007 offizielle Ankündigung und Veröffentlichung des SDKs Anlockung von Entwicklern mit Preisgeldern
6
Geschichte Open Handset Alliance (OHA) tritt in Erscheinung Zusammenschluss von 34 Firmen aus den Bereichen Entwicklung, Netzbetrieb u. Geräteherstellern unter der Führung von Google 2008 Veröffentlichung des HTC Dream G1 mit Android 1.0 Heute OHA angewachsen auf 80 Unternehmen inzwischen Android 4.0 700.000 Gerätaktivierungen am Tag in 3 Jahren
7
Welche Werkzeuge gibt es? ADT Plugin (Android Development Tools) Android SDK
8
Überblick Motivation Hintergrund Was ist Android? Geschichte Welche Werkzeuge gibt es? Wie ist eine Applikation aufgebaut? Lebenszyklus einer Activity und Minimalactivity Die Oberfläche R.java Intents und Intentfilter Datenverwaltung und –speicherung SQLite Content Provider Fazit
9
Wie ist eine Applikation aufgebaut? Eine App kann aus verschiedenen Komponenten bestehen … Activity, Service, Fragment und Broadcast Receiver nur die Activity ist als Einstiegspunkt essentiell (impliziter Intent) Activity Definition in der Manifestdatei Modul welches eine Aufgabe erfüllt definiert eine Benutzeroberfläche durch einen XML Baum Interaktion mit der Plattform durch bestimmte Listener Methoden, welche sich am Lebenszyklus der Activity orientieren
10
Wie ist eine Applikation aufgebaut? Verwaltungsdatei einer App Informationen über ihre Komponenten und ihr Zusammenspiel
11
Lebenszyklus einer Activity und Minimalactivity Hier bietet es sich an Datensätze in einer Datenbank zu speichern! Die App pausiert sobald z.B. ein Abfragedialog erscheint.
12
Die Oberfläche
13
Oberfläche als XML Baum
14
R.java
15
Überblick Motivation Hintergrund Was ist Android? Geschichte Welche Werkzeuge gibt es? Wie ist eine Applikation aufgebaut? Lebenszyklus einer Activity und Minimalactivity Die Oberfläche R.java Intents und Intentfilter Datenverwaltung und –speicherung SQLite Content Provider Fazit
16
Intents und Intentfilter dienen der Kommunikation von Activities innerhalb der App und mit Activities anderer Apps oder des Systems vielen Anwendungen reicht eine Activity nicht Daten müssen über ihre Grenzen hinaus ausgetauscht werden Start einer Activity erfolgt explizit oder implizit impliziter Start erfordert eine action und eine category in dem intent-filter Attribut des Activity Tags in der Manifestdatei data Tag kann angehangen werden um ein Schema für URI (Uniform Resource Identifier) Objekte als Daten mitzugeben im Code wird ein Intent erstellt der die action verarbeitet
17
Intents und Intentfilter expliziter Start erfordert die Ausgangsactivity (this) und die Zielactivity MyActivity.class im Code wird ein Intent mit beiden Activities erstellt und damit die Zielactitivity gestartet auch hier können Daten an den Intent gehangen werden Bundle (assoziative Vorgehensweise Key-Value Paare) wird in der Zielactivity wieder ausgelesen
18
Impliziter Intent
19
Expliziter Intent
20
Überblick Motivation Hintergrund Was ist Android? Geschichte Welche Werkzeuge gibt es? Wie ist eine Applikation aufgebaut? Lebenszyklus einer Activity und Minimalactivity Die Oberfläche R.java Intents und Intentfilter Datenverwaltung und –speicherung SQLite Content Provider Fazit
21
SQLite Verdeutlichung anhand der „Meine Stimmung App“ zentrale Klassen SQLiteOpenHelper und SQLiteDatabase SQLiteOpenHelper abstrakte Klasse wird meist in einer abgeleiteten Klasse umgesetzt um eigene Anpassungen einzuarbeiten Pflicht die Methoden onCreate() und onUpgrade() zu überschreiben onCreate() beinhaltet Logik um Verbindung zu einer Tabelle herzustellen oder eine neue zu erstellen onUpgrade() beinhaltet Logik um je nach Situation ev. neue Spalten hinzuzufügen und alten Zustand zu speichern SQLiteOpenHelper bietet Methoden an um les– und schreibbare Instanzen von SQLiteDatabase zu bekommen ermöglicht Implementierung von Logik für Einfüge-, Aktualiesierungs- oder Löschoperationen
22
Datenbankzugriff bietet Methoden an um SQL Statements auszuführen ( void execSQL(String sql)) bietet sich für Erstellung und Löschen von Tabellen an, also Operationen der DDL (Data Definition Language, execSQL() kein Rückgabewert) DML Operationen (Data Manipulation Language) verkapselt in Methoden die wenig SQL Kenntnisse erfordern
23
Datenbankzugriff Künneth, T.: Android 3 Apps entwickeln mit dem Android SDK. 1. Aufl. Bonn: Galileo Press 2011.
24
Datenbankzugriff
26
Content Provider dienen dazu Daten anderen Applikationen zugänglich zu machen jeder Content Provider muss in der Manifestdatei mit seinem voll qualifizierten Namen angegeben werden (Authority) dieser Name wird als Teil der CONTENT_URI angegeben trains würde jetzt die Tabelle bezeichnen von der die Daten kommen es könnten auch Webservices oder RSS Feeds als Datenquelle dienen in der abgeleiteten Klasse des Content Providers müssen Methoden der Datenmanipulation und –definition überschrieben werden (ContentProvider abstrakte Klasse)
27
Content Provider diese Methoden heißen insert(), delete(), query() und update() bekommen ein URI Objekt übergeben Prüfung ob ein Datensatz oder alle Datenbestände betroffen sind Content Provider müssen nicht initialisiert werden durch die Registrierung in der Manifestdatei und mit ihrer URI werden sie aus einer Activity direkt angesprochen ContentResolver getContentResolver() liefert ContentResolver der die Methoden der ContentProvider aufrufen kann an Hand der CONTENT_URI wird entschieden welcher ContentProvider ausgewählt wird
28
Content Provider
29
Überblick Motivation Hintergrund Was ist Android? Geschichte Welche Werkzeuge gibt es? Wie ist eine Applikation aufgebaut? Lebenszyklus einer Activity und Minimalactivity Die Oberfläche R.java Intents und Intentfilter Datenverwaltung und –speicherung SQLite Content Provider Fazit
30
Beschreibung grundlegender Features Activities, Intents –und Intentfilter, SQLite, ContentProvider, Resourcenmanagement etc. Features sind nachvollziehbar Plattform angepasst an zeitliche Trends der Entwicklung mobiler Applikationen große Entwicklergemeinde Sicherheit der Weiterentwicklung durch viele Geräte
31
Quellen Künneth, T.: Android 3 Apps entwickeln mit dem Android SDK. 1. Aufl. Bonn: Galileo Press 2011. Becker, A., Pant, M.: Android Grundlagen und Programmierung. 1.Aufl. Heidelberg: dpunkt.verlag GmbH 2009. Android Developers - http://developer.android.com/index.html
32
Entwicklung mobiler Applikationen mit Android Moritz Hübner (huebner@hia.rwth-aachen.de) Lehrstuhl für Medizintechnik Helmholtz-Institut für Biomedizinische Technik der RWTH Aachen http://www.meditec.hia.rwth-aachen.de Vielen Dank !
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.