Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminarvortrag Entwicklung mobiler Applikationen mit Android Moritz Hübner Lehrstuhl für Medizintechnik Helmholtz-Institut.

Ähnliche Präsentationen


Präsentation zum Thema: "Seminarvortrag Entwicklung mobiler Applikationen mit Android Moritz Hübner Lehrstuhl für Medizintechnik Helmholtz-Institut."—  Präsentation transkript:

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

25

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 !


Herunterladen ppt "Seminarvortrag Entwicklung mobiler Applikationen mit Android Moritz Hübner Lehrstuhl für Medizintechnik Helmholtz-Institut."

Ähnliche Präsentationen


Google-Anzeigen