Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen"

Transkript

1 Hochschule München Fakultät für Informatik und Mathematik Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Verfasser Matrikelnummer Dozent Michael Theis Ich erkläre hiermit, dass ich die vorliegende selbständig verfasst, diese Arbeit noch nicht anderweitig für Prüfungszwecke vorgelegt, dass ich keine anderen als die angegebenen Quellen und Hilfsmittel benutzt und dass ich wörtliche und sinngemäße Zitate als solche gekennzeichnet habe. Ort, Datum Unterschrift Student

2 Mobile Benutzeroberflächen mit Android Inhalt 1. Android Grundwissen Einleitung CDD Bildschirm Versionsübersicht Architektur Applikationen Entwicklungsumgebung Projekte Einleitung Ordnerstruktur Konfigurationsabhängigkeit Manifest Permission Activities Das User Interface Ressourcen-IDs Layouts Frame Layout Linear Layout Table Layout Relative Layout Zusammenfassung Elemente Text View

3 6.3.2 Button Spinner Edit Text TimePicker DatePicker Menüs Einführung Einbinden eines Optionenmenüs Behandeln des ClickItems Intents Was ist ein Intent Aufruf eines Intents Aufruf des Intents über einen Chooser Content Provider Einleitung Zugriff auf Daten Einfügen von Daten in einen Content Provider Updaten von Daten aus einem Content Provider Löschen von Daten eines Content Providers Zusammenfassung und Aussichten des Content Providers Sensorik Einführung Abfragen von Sensorik-Werten Zusammenfassung der Sensorik Network Services Einführung URL Aufrufen Fazit Literaturverzeichnis Abbildungen Listings Tabellen

4 1. Android Grundwissen 1.1 Einleitung In den letzten Jahrzehnten hat sich der Mobiltelefonbereich sehr viel getan. Die Geschichte der heute in jeder Hosentasche vorkommenden Geräte begann Was damals mit langen Antennen, normalen Wähltastaturen und (wenn überhaupt) farblosem Display begann, entwickelte sich relativ schnell zu hochwertigen, kapazitiven Multitouch Farbdisplays mit Ultra hoher Auflösung. Der neuste Anwärter auf dem Markt der Handy-Betriebssysteme heißt Android. 1 Andy Rubin gründete 2003 die Firma Android Inc., welche mit dem Hintergedanken spielte, ein Betriebssystem zu entwickeln, welches die Vorlieben seines Benutzter kennt. Android wurde 2005 von Google aufgekauft und ab dem Zeitpunkt zu einem der am weitesten verbreiteten Betriebssysteme entwickelt. Heute besitzt Android einen Marktanteil von 52,5 % Weltweit. Was es zum weitverbreitetsten Mobilen Betriebssystem der Welt macht CDD Wie jedes Betriebssystem besitzt auch Android einen Katalog an Mindestvorrausetzung und empfohlene Voraussetzungen, welche zutreffen müssen um Android auf dem Gerät zum Einsatz zu bringen. Dieser Katalog heißt bei Android CDD (Compatible Definition Document) und existiert für jede Android Version. 3 Die Anforderungen sind wie folgt gegliedert: Tabelle 1 CDD Katalog 4 Englisch Deutsch Beschreibung MUST Muss Diese Funktionen/Komponente MUSS das Gerät implementieren. SHOULD Sollte Diese Funktionen/Komponente SOLLTE das Gerät implementiert haben. D.h.: Es wäre sinnvoll, da viele Apps hier sonst nicht laufen würden. 1 ( 2 ( 3 Vgl. (Bach, 2012, S. 26) 4 Tabelle aus: (Bach, 2012, S. 26) 3

5 MAY Kann Wenn das Gerät diese Komponente nicht besitzt, ist es nicht weiter schlimm. SHOULD NOT Sollte nicht Auch dieses gibt es. Oft sind Funktionen entwickelt worden die dem ganzen Betrieb des Gerätes schaden. Diese sollten dann nichtmehr implementiert werden. 1.3 Bildschirm 5 Dem Bildschirm wird auf Android Geräten eine große Bedeutung zu teil. Da jede Richtungsänderung, Lageänderung oder auch jede Berührung des Gerätes den Inhalt des Bildschirmes beeinflussen, müssen hier einige Dinge beachtet werden. So sind die Grunddaten jedes Android Bildschirmes erst einmal: - Diagonale des Bildschirmes mindestens 2.5 Zoll - Pixeldichte mindestens 100 dpi - nverhältnis zwischen 4:3 und 16:9 (Tablets 16:10) Die wichtigsten Maßeinheiten für die Pixel sind hier: Tabelle 2 Maßeinheiten Bildschirm 6 Maßeinheit dp (Density-independent Pixels) px (Pixel) Mm (Millimeter) Beschreibung Unabhängige Bezeichnung welche für Layouts benutzt wird um überall das gleiche Layout zu liefern. Standartpixel welches man auch auf PCs findet. Da es aber Geräteabhängig ist sollte es nicht benutzt werden. Der normale Millimeter welche Geräteunabhängig ist. Um die Ausrichtung des Bildschirmes zu bestimmen, dient uns folgende Skizze: 5 (Bach, 2012, S. 27) 6 Tabelle aus: (Bach, 2012, S. 28) 4

6 Abbildung 1 Koordinatensystem Bildschirm Es wird immer versucht das y-achse nach unten Richtung Erde (G-Feld Sensor) zeigen zu lassen. Die X-Achse zeigt immer im senkrechten Winkel zur y-achse. Für Drehungen ist noch die Z-Achse wichtig, welche senkrecht auf der y/x Achse steht. 1.4 Versionsübersicht 7 Android verfügt momentan über 11 unterschiedliche Versionen. Jede Android Version besitzt einen Codenamen. Diese Namen leiten sich von Süßspeisen ab und beginnen bei Version 1.5 mit dem Codewort Cupcake. Jede Version ist noch mit einem API-Level hinterlegt, um die Versionsgeschichte besser nachvollziehen zu können. Die APIs sind aufwärtskompatibel, d.h. API Version 3 funktioniert auch auf den API Level > 3. Eine kurze über die momentane Verbreitung der Versionen liefert das untenstehende Diagramm inkl. der Tabelle: Abbildung 2 Versionsübersicht 8 7 ( 8 Bild aus: ( 5

7 Hierbei ist sehr gut ersichtlich, dass Version 2.2 in der Entwicklung als Grund-API dienen sollte. So kann die Applikation auch auf ca % aller Android Geräten funktionieren. 1.5 Architektur 9 Android baut auf dem Linux-Kernel 2.6 auf. Ice Cream Sandwich (Version 4 der Android Distribution) hat auch schon Teile des 3.0 Linuxkernels. Linux kümmert sich um die Speicherverwaltung, Multimediadienste, Prozessverwaltung und die Kommunikation (Telekommunikation). Auch läuft die Virtuelle Maschine Dalvik, welche für den Java Code zuständig ist, direkt unter Linux. Applikationen (kurz: Apps) werden direkt in einer speziellen Java-Version programmiert. Die meisten Bibliotheken kommen direkt aus der Standard Edition, aber es können alle Bibliotheken aus der Enterprise Edition direkt eingebunden werden. Dafür müssen nur die Byte-Codes (bzw. Librarys) mit in das App-Verzeichnis geladen werden. Android bietet aber genügend eigene Bibliotheken, um eine fortgeschrittene Programmierung zu ermöglichen. Deswegen wird die EE-Version eigentlich nicht benötigt. Die APIs sind alle sehr gut dokumentiert und gut verständlich. Alle benötigten Funktionen können leicht benutzt werden. Android wird größtenteils unter der Apache Lizenz entwickelt und steht als Open-Source im Internet unter source.android.com zur Verfügung. Über die Versionsverwaltungssoftware Git kann man sich den kompletten Android Code direkt auf den PC laden und anschauen. 10 Die folgende Abbildung zeigt einen Überblick über die von Android benutze Architektur: 9 ( 10 ( 6

8 Abbildung 3 Architektur Android Applikationen 12 Applikationen sind in Java geschriebene kleine Programme die normalerweise in Eclipse entwickelt werden und über den Android Play Store verkauft oder verbreitet werden können. Die Virtuelle Maschine Dalvik kümmert sich um das Übersetzen des Java Codes in Byte-Code und lässt das Programm auf dem Handy laufen. Natürlich kann man auch Virtuelle Maschinen von Android direkt auf dem PC emulieren lassen, um so seine Entwickelten Apps direkt testen zu können. Der Google Play Store ist eine direkt auf Android laufende Applikation, welche das Herunterladen von Apps über einen Google-Account ermöglicht. Im November 2011 gab es noch verschiedene Apps im Store. Aber es kommen pro Monat mindestens neue hinzu. Die meisten Apps sind kostenlos oder für eine sehr geringe Gebühr zu bekommen. 3. Entwicklungsumgebung 13 Als Entwicklungsumgebung wird Eclipse hergenommen. Als Zusatz-Plug-In dient das Android SDK. Dieses wird unter runtergeladen und kann auf allen gängigen Betriebssystemen installiert werden. Danach wird die Android SDK mit Eclipse verknüpft. Diese kann dann direkt virtuelle Android Maschinen in allen gewünschten Versionen auf dem PC 11 ( 12 ( 13 ( 7

9 initialisieren. Es werden auch viele Beispielprojekte angeboten, womit wir uns über Applikationen, APIs und alles, was in der Java-Entwicklung wichtig ist, informieren können. Um Android gerechte Bilder zu erstellen, benötigt man noch die Android Development Tools (ADT). Hier kann leicht aus normalen Portable Network Graphics(png) Bildern 9-Patch Bilder erstellt werden, welche sich besser an die gängigen Bildschirme von Android anpassen können. 4. Projekte 4.1 Einleitung Erstellt man ein neues Android Projekt, sind nur ein paar Dinge wirklich neu in der Java Welt. Zuerst wählt man einen Projektnamen, dies wär der Name der Applikation. Danach wählten Wir eine Version für das Android Projekt. Wir wählen Version 2.2 um die größtmögliche Abdeckung für unsere Applikation zu gewährleisten. Auch sind die Bibliotheken für die Standard Applikationen in der Version 2.2 komplett ausreichend. Danach wählen Wir noch ein Package Name, eine Min. SDK, welches unserer gewählten Version entspricht und erstellt dann unsere erste Activity. 4.2 Ordnerstruktur 14 Neu erstellte Projekt in Android besitzen eine fest definierte Ordnerstruktur, in welcher der Java Code, Libarys und Ressourcen abgespeichert werden, um sie später als.apk Dateien( => Installationsdateien, wie.exe) auf Android Geräten installieren zu können (Bach, 2012, S. 112) 15 ( 8

10 Abbildung 4 Ordnerstruktur Der src-ordner beinhaltet alle StartActivitys und alle weiteren Java-Files welche für das Projekt geschrieben werden. Der bin-ordner beinhaltet die Kompilierten Klassen und das Projekt als.apk. Der gen-ordner enthält vom ADT (Android Developement Tool) generierte Klassen wie die R-Klasse zur Resourcenverwaltung. Der assets-ordner enthält Resourcendateien, wie Bilder, welche in Ihrem Ursprünglichen Format bestehen bleiben sollen. Der res-ordner ist der größte und zugleich wichtigste Ordner in einem Android Projekt und enthält die Applikation Ressourcen für das Projekt. Dieser ist unterteilt in: Tabelle 3 Ressourcenordner Unterteilung 16 Dateiname anim color drawable layout menu Beschreibung Hier sind Animationen in, XML-Dateien kompiliert, enthalten. Standardfarben für das Projekt. Z.B.: Könnte man die Farben für Buttons definieren, welche momentan aktiv sind und Farben für Buttons die inaktiv sind. Alle Bilder für das Projekt. Hier wird das in XML geschriebene Layout abgespeichert. Hier sind Menüs in XML für das Projekt 16 ( 9

11 value xml abgespeichert. Standardmäßig wird der Ordner für die Strings in den Views benutzt. Sie werden in einem XML Format im Value Ordner abgespeichert. Dieser Ordner wird für generische XML Dateien benötigt. Der lib-ordner enthält private Librarys und kann auch mit kompatiblen Frameworks erweitert werden. BEACHTE: Ordner sind nicht über Rechtsklick->New->Folder zu erstellen. Das alles sollte über den XML-File Generator von Eclipse gemacht werden, da dieser die Datei bei Bedarf den dazugehörigen Ordner erstellt und diesen auch mit den richtigen Konventionen versieht. 4.3 Konfigurationsabhängigkeit 17 Um Applikationen Gerätespezifisch zu schreiben, müssten die Ordner gerätespezifische Tags aufweisen. So können Ressourcen nur für bestimmte Bildschirmauflösungen gelten und die Strings in value können für verschiedene Sprachen bereitgestellt werden. Um das zu realisieren, wurden Gerätespezifische Ressourcentypen eingeführt. Um Strings (im Value Ordner) z.b. nur für deutsche Geräte gelten zu lassen, würde der String-Ordner value-de heißen. Hier findet man die Strings in deutscher Sprache. Stellt man sein Handy aber auf Englisch um, müsste ein Ordner value-en vorhanden sein. Sollte kein gerätespezifischer Ordner vorhanden sein, würde er den normalen value Ordner nehmen. Die Standard Phrase lautet: res/<resourcetype>[-<qualifiervalue>][-<qualifiervalue>][ ] Wichtige Ressourcentypen sind: Tabelle 4 Ressourcentypen 18 Name Beschreibung Werte/Qualifier Sprachen und Regionen Um sein App dynamisch übersetzen zu können, kann man XML-String-Dateien länderspezifisch erstellen. de en Bildschirmgröße Um für jede Bildschirmgröße entsprechende Bilder anbieten zu können. small normal large xlarge Bildschirmausrichtung port: Hochformat port 17 ( 18 Tabelle aus: ( 10

12 land: Querformat land 4.4 Manifest Das Manifest ist das Herzstück des Android Projektes. Es bestimmt den Eintrittspunkt (vgl. Main-Methode in Java) für die Laufzeitumgebung auf dem Gerät. Auch sind alle wichtigen Daten für die Installation auf Android-Geräten hier hinterlegt. Wir können dem Benutzer über sogenannte Permissions (vgl. Kapitel Permission) mitteilen, dass unsere Applikation Rechte benötigt, um z.b. die GPS-Daten auszulesen oder eine Verbindung ins Internet herstellen möchte. Der Benutzer der diese Applikation installieren möchte, muss bei der Installation diesen Rechten zustimmen. Verweigert er seine Zustimmung kann diese Applikation nicht installiert werden. Daher muss man darauf achten, was man für Rechte verlangt und welche man lieber weglässt. Viele Benutzer installieren Applikationen mit vielen Rechten nicht auf Ihrem Gerät. 4.3 Permission 19 Wichtig zu erwähnen sind hierbei noch die Permissions. Benutzen wir Funktionen, welche direkt mit Daten zu tun haben die vom Benutzer kommen (daher dem Datenschutz unterliegen), müssen wir dies dem Benutzer vor der Installation mitteilen. Dazu benutzt man die Permission im Manifest des Projektes. Hier können wir genau festlegen, was wir mit den Daten machen. Möchten Wir zum Beispiel Kontakte aus dem Kontaktbuch auslesen, hinzufügen oder ändern, müssten wir das wie folgt im XML eintragen: Listing 1 XML Permissions Und so würde dies in unserem Manifest ausschauen: Abbildung 5 Manifest Permissions Graphisch 19 (Bach, 2012, S ) 11

13 5. Activities 20 Activities stellen Lebenszyklen der Applikationen dar und werden immer dann aufgerufen, wenn irgendwas mit dem momentan aktiven View passiert. Abbildung 6 Der Lebenszyklus einer Activity ( 21 ( 12

14 Tabelle 5 Activities Methoden 22 Methode Beschreibung (Aufruf wenn ) oncreate() Wenn View erstellt wird (noch NICHT sichtbar) onstart() Wenn die View sichtbar wird. onresume() Die Activity ist sichtbar und kann nun benutzt werden. onpause() Wenn die View unterbrochen wird (z.b. durch einen Anruf) onstop() Die View wurde nun weiter hinter in den Stack gelegt und ist nichtmehr sichtbar onrestart() Falls die View gestoppt wurde und nun wieder nach vorne in den Stack geladen werden soll. ondestroy() Activity wird komplett aus dem Stack gelöscht, Speicher wird frei. Um Activities zu programmieren, muss unsere Klasse immer um die Klasse android.app.activity erweitert werden: Listing 2 Activity Klasse Um eine Startactivity für die Applikation festzulegen, muss man diese in das Manifest eintragen: 22 ( 13

15 Listing 3 Startactivity Diese in activity android:name deklarierte Activity, wird dann beim Programmstart geladen. Es ist ratsam die Activitys onstop(), onpause(), onrestart() immer zu definieren, da Applikationen bei Zustandsänderungen des Mobilfunkgerätes (zb. Drehung, Interupt durch Anruf) immer neu gestartet werden und momentan laufende Aktionen unwiderruflich ausfallen würden. Standardmäßig wird nur der aktuelle View gespeichert. 6. Das User Interface 6.1 Ressourcen-IDs 23 Alle Elemente in der Android Applikation bekommen immer eine eindeutige ID zugewiesen, um sie von überall aus zu identifizieren. Die IDs werden teils automatisch vom aapt-tool (Android Asset Packaging Tool) generiert. Wollen wir zu Testzwecken einen String erzeugen, geschieht das in der Datei: res/values/string.xml über: Listing 4 String Erzeugen Das aapt würde dies in der Ressourcen-Klasse R wie folgt ablegen: 23 (Bach, 2012, S ) 14

16 Listing 5 R-Klasse (gekürzt) WICHTIG: Die R Klasse darf niemals geändert werden, da sie immer automatisch erzeugt wird. Möchte man im XML-Layout mit IDs arbeiten, muss man zwei Dinge beachten. Erstellt man eine neue ID, die nur in dem XML-Layout benutzt werden muss, macht man das über: Listing 6 Neue Android ID in XML Erzeugen wir eine Referenz auf bereits bestehende ID-Ressourcen(im Beispiel ein String) geschieht das zum Beispiel über Listing 7 Verweis auf String über ID möglich ist. Hierbei steht immer für eine ID +- ist eine Marker, ob die ID neu erstellt werden muss oder nicht 6.2 Layouts 24 Das User Interface in Android setzt sich aus unterschiedlichen Views und View-Gruppen zusammen. Der normale Weg um ein View zu schreiben besteht darin, die Struktur in XML zu deklarieren. Die 24 ( 15

17 Namen der Elemente eines Views sind immer zugleich die Namen der jeweiligen Java-Klassen. So können diese direkt im Java Code manipuliert werden. In Android gibt es 4 wichtige Layouts, welche wir näher betrachten werden. Hierbei gilt zu beachten, dass wir allen Layouts eindeutige IDs zuweisen, um über diese ID später auf das Java-Klassen-Äquivalent der XML Notation zuzugreifen Frame Layout 25 Das erste Layout, ist das Frame Layout. Elemente werden immer oben rechts positioniert. Jedes neue Element wird einfach über das vorherige gelegt. Eine genaue Positionierung von Objekten ist hierbei nicht vorgesehen. Abbildung 7 Frame Layout Graphisch Listing 8 Frame Layout Notation (gekürzt) Linear Layout 26 Das Linear Layout ist die einfachste Form des Layouts. Es unterteil den Bildschirm in horizontale oder vertikale Strukturen, in welche wir unsere Elemente positionieren können. 25 ( 26 ( 16

18 Abbildung 8 Linear Layout Graphisch Listing 9 Linear Layout Notation (gekürzt) Das Beispiel zeigt gut, wie das Linear arbeitet. Hier wird jedes Element in eine Extra Zeile geschrieben Table Layout 27 Das Table Layout positioniert seine Elemente in Spalten und Zeilen. Die Spalten können direkt als Attribut im Table Layout angegeben werden, die Zeilen werden über das XML-Element <TableRow> erzeugt. Es ist möglich, Zeilen vertikal oder horizontal zu positionieren, was einem viele Freiheiten beim Positionieren von Elementen lässt. Abbildung 9 Table Layout Graphisch Listing 10 Table Layout Notation (gekürzt) Relative Layout 28 Das relative Layout positioniert seine Elemente immer relative zu seinem Elternelement. Durch diese relative Positionierung von Elementen, kann man schnell und einfach professionell aussehende Views erstellen. 27 ( 28 ( 17

19 Listing 11 Relative Layout inkl. Abbildung Zusammenfassung Dadurch, dass man in einem View mehrere Layouts gleichzeitig positionieren kann, lassen sich in Android schnell und einfach gute Layouts erstellen. Der Eclipse Graphic Layout Generator ist hierbei eine sehr große Hilfe. Doch musste ich bei meiner Recherche zu dieser Arbeit feststellen, dass er noch lange nicht fertig ist. Gerade wenn man oft zwischen Grafischem- und XML-Editor wechselt, hängen sich beide Editoren auf und man muss sie komplett neustarten. Die reine Benutzung des XML-Editors ist somit wirklich zu empfehlen. 6.3 Elemente Elemente (auch Widgets genannt) sind vordefinierte Bausteine um den Output und das Input in einem View zu unterstützen Text View 30 Das Text View befindet sich (wie alle Widgets) im Packet android.widget. Die Hauptaufgabe des Text Views ist Text auszugeben. Wichtige Attribute des Text View Widgets sind: 29 ( 30 ( 18

20 Name Beschreibung Input Type text Dieser Text wird String/Ressource ausgegeben. textsize Die Schriftgröße String password Ob dieser Text ein Passwort darstellt. (Dann werden aus den Buchstaben Punkte. Boolean Listing 12 Attribute Text View 31 Um auf den im View geschriebenem Text dann zuzugreifen, benötigt man noch die Instance des Views im Java-Code: Listing 13 Zugriff auf Text View über ID Button 32 Über einen Button können Events ausgelöst werden. Man hat zwei Wahlmöglichkeiten um ein Event auslösen zu lassen. Entweder man hängt einen Eventlistener an den Button, welcher wartet bis ein bestimmtes Event auftritt oder man setzt direkt im XML Code eine Methode fest die aufgerufen wird, wenn der Button geklickt wird. Methode 1 Listing 14 Eventlistener für Button Methode 2 XML: Listing 15 XMLButton Zuweisung der Klickmethode 31 Tabelle aus ( 32 ( 19

21 Java: Listing 16 Programmieren der Klickmethode Der Parameter View wäre hier das View, aus dem der Button aufgerufen wurde Spinner 33 Der Spinner ist eine Art Dropdown Auswahl für ein Androidgerät. Ein wichtiges Attribut des Spinner ist: android:prompt. Das Prompt Attribut nimmt einen String- Array als Wert entgegen. In diesem sind alle Inhalte vorhanden, welche im Spinner angezeigt werden sollen. Ein funktionierender Spinner würde in der XML-Darstellung wie folgt aussehen: Listing 17 Spinner Notation Edit Text 35 Das Widget Edit Text ist eine Textbox, in die der Benutzer direkt hineinschreiben kann. Ein Entwickler kann die Art der angezeigten Tastatur mit einstellen, indem er den Edit Text Element das Attribut inputtype mitgibt. Die wichtigsten Keyboardtypes sind: - text - number - phone - date Die inputtypes erzeugen bei einem Klick auf das Widget, direkt eine dazu passende Tastatur auf dem Android Gerät, was einem die Eingabe von Daten in das Edit Text-Feld sehr erleichtert. Das komplette Listing für eine Texteingabe wäre dann: 33 ( 34 ( 35 ( 20

22 Listing 18 Edit Text Notation TimePicker 36 Der TimePicker ist eine einfache und schnelle Art, um auf einem Android Gerät eine Uhrzeit auszuwählen. Der Code eines TimePickers schaut wie folgt aus: Listing 19 TimePicker Notation DatePicker 37 Der DatePicker verhält sich wie der TimePicker, mit der Ausnahme, dass hier ein komplettes Datum eingestellt werden kann, ohne eine genaue Uhrzeit definieren zu müssen 6.4 Menüs Einführung 38 Es gibt 3 verschiedene Arten von Menüs, welche sich nur in Ihrem Entstehungsort unterscheiden. 1. Optionenmenü 2. Kontextmenü 3. Untermenü Das Optionenmenü beinhaltet alle Menüpunkte, die auf die Applikation als Ganzes einwirken. Zum Beispiel das Aufrufen von Einstellungen. Das Kontextmenü ist abhängig vom momentan aktiven View. Es erscheint normalerweise, wenn der Benutzer lange auf ein Element auf dem Bildschirm drückt. Untermenüs können Kontext- oder Untermenüs beinhalten und dienen zur Gruppierung von Menüitems. Das Menü wird in dem Ordner res/menu/[name].xml als XML-File gespeichert. Der Android XML 36 ( 37 ( 38 (Bach, 2012, S. 192) 21

23 Wizard unterstützt einen hierbei. Das XML-File eines Menüs mit 2 Items würde wie folgt aussehen: Einbinden eines Optionenmenüs 39 Um das Menü über das Handy aufzurufen, muss man es einer Activity zuweisen. Dafür dient die Methode oncreateoptionsmenu welche als Parameter ein Menü entgegen nimmt, und diesen dann im Methoden Rumpf der Activity zuweist. So ist es auch nur über diese Activity und View aufrufbar. Der Code würde wie folgt aussehen: Listing 20 Einbinden des Optionenmenüs Der Menuinflater instanziiert das Menü in die Activity und ist ab da in der ganzen Activity aufrufbar Behandeln des ClickItems 40 Klickt der Benutzer auf ein Item des Menüs, ruft er dadurch die Methode onoptionsitemselected auf. Diese übernimmt als Parameter ein MenuItem, welches das identifizieren des gedrückten Items über die ItemID ermöglich. Der Code zu einem Click würde wie folgt aussehen: 39 ( 40 ( 22

24 Listing 21 Behandeln eines (Menu)Click-Events Um einen ClickEvent richtig zu beenden, muss als Rückgabewert true zurückgeliefert werden. 7. Intents 7.1 Was ist ein Intent 41 Intents stellen Broadcast Dienste auf dem Gerät bereit, um möglichst schnell und einfach andere Dienste und Applikationen anzusprechen, welche schon auf dem Gerät vorhanden sind. So könnten wir über ein Intent die Galerie aufrufen, um die URI (vgl. Kapitel 8.1) eines Bildes auf dem Gerät mit unserer Applikation zu verknüpfen. Wir könnten aber auch die Kamera starten und selber ein Bild machen. Das alles geschieht über Intents. Auch ist es möglich, dass wir uns in das Intent-System des Gerätes einklicken und so Anfragen über den Broadcast Verteiler des Gerätes direkt abfangen. Wir könnten so eine bessere Galerie für Bilder erstellen, welche sich immer öffnet, wenn der Benutzer auf ein Foto klickt. Unsere Applikation würde dann das Intent Request abfangen und sich automatisch öffnen, ohne dass der Benutzer unsere Applikation explizit öffnet. 7.2 Aufruf eines Intents 42 Um ein Intent zu aktivieren, müssen wir zuerst den Intent Type kennen. Um zum Beispiel in das Kontaktbuch des Gerätes zu kommen, schreiben wir den Java Code: 41 (Bach, 2012, S. 132) 42 (Bach, 2012, S ) 23

25 Intent.ACTION_PICK wäre hier der Intent-Type den wir auswählen wollen. In der Methode setdata() legen wir die Adresse als URI fest, in welcher unser Intent ausgeführt werden soll. Danach wird das Intent über die Methode startactivityforresult() aufgerufen. In unserem Beispiel würden sich alle Kontakte öffnen und wir könnten einen auswählen. Hier müssten wir aber noch beachten, dass die Applikation abstürzen würde, falls das Intent nicht auffindbar ist. Um diesen Fehler abzufangen, schreiben wir eine kurze Methode zum Testen des Intent Kontextes: Listing 22 Test ob ein Intent verfügbar ist 43 Wichtige Aktionen für Intents sind: Tabelle 6 Intent Types 44 Konstante ACTION_PICK ACTION_CHOOSER ACTION_DIAL ACTION_CALL ACTION_SEND ACTION_INSERT Beschreibung Wählen eines Eintrages eines bestimmten Datentyps. Über.setData gibt man die Content- URI des gewünschten Datensatzes mit. Der Benutzer darf wählen, mit welcher Applikation die Funktion erledigt wird. Wählt eine Rufnummer mit dem Telefon. Es wird aber nicht angerufen. Wählt eine Rufnummer und wählt diese dann sogleich an. Hiermit lassen sich Daten versenden. Über.setType() muss der Mime Type der Daten gesetzt werden. Erzeugt einen neuen Eintrag in einen bestimmten Content-Provider (siehe Content- Provider) 43 Listing aus: (Bach, 2012, S. 140) 44 Tabelle aus: (Bach, 2012, S ) (zusammengefasst) 24

26 7.3 Aufruf des Intents über einen Chooser Manchmal kommt es vor, dass das Gerät nicht sofort weiß, welche Applikation es öffnen soll. So könnte beim Versenden einer auf dem Gerät GMail, Mail oder eine andere Applikation benutzt werden. Kann anhand der über.setdata() zugewiesenen Daten keine eindeutige Anwendung identifiziert werden, wird der Application Chooser gestartet, in welcher der Benutzer seine gewünschte Anwendung auswählen kann. Listing 23 Intent Chooser Code 45 Auf dem Android Gerät würde das wie folgt aussehen: Abbildung 10 Intent Chooser auf dem Android (Bach, 2012, S. 140) 25

27 8. Content Provider 8.1 Einleitung 47 Der Content Provider steuert den Zugriff auf alle Daten im Gerät. Er sammelt die Daten und regelt einen sicheren und einfachen Zugriff auf diese. Content Provider werden benutzt, wenn ein Dienst oder eine Applikation Daten von einem anderen Dienst/Applikation benötigt. Die Content Provider werden immer über eindeutige Adressen, den sogenannten URIs angesprochen. Der Aufbau einer URI folgt immer dem Schema: 48 content://<authority>/<table_name> Hierbei ist Authority der Inhaber der Daten und Table_Name eine Tabelle innerhalb seiner Daten. Einzelne Datensätze können wir über die ID ansprechen. Der Zugriff auf die Daten wird dann über den Content Resolver geregelt, welche die Klasse Content Provider implementiert. Der Resolver bietet Methoden für Abfragen, Erstellen, Aktualisieren und Löschen der Daten bereit (SQL sehr ähnlich). Um mit den Content Providern anderen Applikationen (z.b. des Adressbuches) würden wir in das Manifest die Permission eintragen, so kann der Benutzer bei der Installation direkt sehen, dass wir mit dem Kontaktbuch arbeiten. 8.2 Zugriff auf Daten Um zu verstehen, wie man auf einen Datensatz innerhalb eines Content Provider zugreift, betrachten wir die Tabelle des Wörterbuches eines Android-Gerätes. In den Tabellen befinden sich zu allen Wörter, welche der Benutzer behalten möchte eine Zeile: Tabelle 7 Benutzer Wörterbuch Tabelle 49 word app id frequency locale _ID mapreduce user1 100 en_us 1 precompiler user fr_fr 2 applet user2 225 fr_ca 3 const user1 255 pt_br 4 int user5 100 en_uk 5 46 Bild von: ( 47 (Bach, 2012, S. 312, 313) & ( 48 (Bach, 2012, S. 313) 49 Tabelle aus: ( 26

28 So könnte eine Tabelle aussehen, die Wörter speichert, die es in normalen Wörterbüchern auf dem Android Gerät nicht gibt. Wollen wir nun eine bestimmte Spalte auslesen benutzen wird folgenden Methoden-Aufruf. Listing 24 Aufruf des Content Resolvers 50 Die ausschlaggebende Methode hier heißt query() welche wir als Äquivalent zu einem SQL Query sehen können. Das ganze liefert ein android.database.cursor Objekt zurück. Dieses zeigt dann auf eine oder mehrere Zeile in der Tabelle, bzw. beinhaltet die Spalten die wir in mprojection angegeben haben. Besser Verständlich wird es dann, wenn man sich die Vergleiche von der Query() Methode zu einem SQL-String anschaut: Tabelle 8 Vergleich Content Resolver Query vs. SQL-String 51 query() argument SELECT keyword/parameter Notes Uri FROM table_name Uri maps to the table in the provider named table_name. projection col,col,col, projection is an array of columns that should be included for each row retrieved. Selection WHERE col = value selection specifies the criteria for selecting rows. selectionargs (No exact equivalent. Selection arguments replace? placeholders in the selection clause.) sortorder ORDER BY col,col, sortorder specifies the order in which rows appear in the returned Cursor. 8.3 Einfügen von Daten in einen Content Provider 52 Das Hinzufügen von eigenen Daten in einen anderen Content Provider ist leichter als das Auslesen. Um ein neues Wort in die Wörterbuchtabelle von oben zu schreiben, schreiben wir: 50 Listing aus: ( 51 ( 52 ( 27

29 Listing 25 Einfügen von Daten in einen Content Provider 53 Wobei die ContentValues die neuen Inhalte der Spalte wären. Zu diesen fügt man über put(uri, String VALUE) eine bestimmten Spalte (deklariert über die URI) einen neuen Inhalt hinzu. Danach wird der Eintrag über den Content Resolver mit der Methode insert() in die Tabelle geschrieben. Der Rückegabewert mnewuri wäre hierbei die Uri inkl. der neuen ID zu unserer Zeile. 8.4 Updaten von Daten aus einem Content Provider 54 Das Ändern eines Datensatzes funktioniert so ähnlich wie das Hinzufügen eines Datensatzes, nur das wir hierbei Filter benutzen können: 53 Listing aus: ( 54 ( 28

30 Listing 26 Updaten des Content Providers 55 mupdatevalues ist wieder vom Typ ContentValues und wird genauso mit Werten gefüllt wie zuvor beim Hinzufügen von Daten in den Content Provider. Auch möchten wir hierbei kurz auf den Selektions-Teil einer Abfrage eingehen. Um die Abfrage unseres ContentResolvers nur auf eine Zeile in der Content Provider Tabelle zu beziehen, können wir eine Selection angeben. Dafür Definieren wir nur im Clause-Teil der Selektion eine URI inklusive des Vergleichsoperators und eines Platzhalters für den Wert. Im Argumenten-Teil (Args.) der Selektion hingegen wird ein Array erstellt, mit der gleichen Anzahl an Werten, wie wir Platzhalter benutzt haben. 8.5 Löschen von Daten eines Content Providers 56 Das Löschen von Datensätze funktioniert sich genauso wie das Einfügen und Ändern: 55 Listing aus: ( 56 ( 29

31 Listing 27 Löschen von Content Provider Inhalten 57 Wieder wird eine URI benutzt, auch müssen wir einen Selektionsteil angeben. 8.6 Zusammenfassung und Aussichten des Content Providers 58 Wir sehen, das Thema Content Providers & Content Resolver ist ein schwieriges Thema, bietet aber sehr gute Möglichkeiten mit Daten von anderen Diensten und Applikationen umzugehen. Natürlich ist es auch möglich, eigene Content Provider einzurichten und so unsere Daten anderen Applikationen zur Verfügung zu stellen. Hat man zu einem Zeitpunkt sehr viele Spalten, die in eine oder mehrere Tabellen einfügt werden sollen, rentiert sich auch ein Blick auf die Content Resolver Methode applybatch() welche unsere Querys als Batch ausführen würde und so Systemressourcen spart. Man sollte sich aber immer im Klaren sein, das je mehr Content Provider wir ansprechen wollen, umso mehr Permissions müssen wir uns bei der Installation unserer Applikation zusichern lassen, was potentielle Kunden schon vor der Installation abschrecken könnte. Daher sollte man immer so wenig Content Provider benutzen wie irgend möglich. 9. Sensorik 9.1 Einführung 59 Möchten wir mit unserer Applikation auf Lageänderungen reagieren, benutzen wir dazu den Sensor Manager. Mit Ihm sind wir dazu in der Lage, auf alle Sensoren innerhalb unserer Android Applikation zuzugreifen. Dafür registrieren wir uns beim Sensor Manager als SensorEventListener und bekommen alle Änderungen der Sensordaten mit. Wichtig ist hierbei, dass wir uns wirklich nur dann bei den Sensoren einklicken, wenn wir sie auch 57 Listing aus: ( 58 ( 59 (Bach, 2012, S. 400) 30

32 wirklich benötigen. Das Abfragen von Daten aus den Sensor Manager benötig sehr viel Akkukapazitäten und kann so einen schlechten Einfluss auf die Akkulaufzeit haben. 9.2 Abfragen von Sensorik-Werten 60 Der am häufigsten auftretende Sensor ist der Beschleunigungssensor. Dieser teilt uns mit, wenn das Gerät in eine Richtung (x, y, z) gedreht wird und wie schnell dies passiert. Um uns am Sensordatenverteiler anzumelden, schreiben wir in unsere Applikation: Hierbei steht SENSOR_DELAY_NORMAL für die Häufigkeit unserer Abfrage. Wollen wir z.b. kontinuierlich über jede Änderung Daten bekommen, schreiben wir SENSOR_DELAY_FASTEST oder SENSOR_DELAY_GAME (für Spiele ausreichend). Sind die Änderungen nicht ganz so wichtig, reichen die Konstanten SENSOR_DELAY_NORMAL und SENSOR_DELAY_UI. Hierbei gilt wieder zu beachten, dass je höher wir unsere Änderungsrate eintragen, umso mehr Energie kostet es dem Gerät. Fragen wir Daten über spezielle Sensoren ab, bekommen wir ein Objekt mit der Bezeichnung SensorEvent zurück, welches über folgende Eigenschaften verfügt: Tabelle 9 Attribute von Sensor Event 61 Methodenname Int accuracy Sensor sensor Long timestamp Float values[] Beschreibung Genauigkeit der Werte (High, Medium, Low) Der Sensor, welcher das Event ausgelöst hat Der Zeitstempel in Nanosekunden, zu dem das Event ausgelöst worden ist Die Werte, welche von unserem Sensor zurückgegeben werden. Schauen wir uns die values[] etwas genauer an, werden wir feststellen, dass wir meistens mit 3- Achsen (x,y,z) arbeiten und auch dementsprechend 3 Variablen zurückbekommen. Wobei gilt: 60 (Bach, 2012, S. 404) 61 Tabelle aus: (Bach, 2012, S. 404) 31

33 Tabelle 10 Rückgabewert X-Y-Z 62 Rückgabe values[0] values[1] values[2] Beschreibung Beschleunigung des Gerätes in die X-Richtung Beschleunigung des Gerätes in die Y-Richtung Beschleunigung des Gerätes in die Z-Richtung 9.3 Zusammenfassung der Sensorik 63 Da das Arbeiten mit Sensoren sehr komplex ist, habe ich hier nur die grundlegende Theorie aufgezeigt. Mit den hier aufgeführten Listings und dem übermittelten Wissen, wären wir noch nicht in der Lage, optimal Daten von den Sensoren zu bekommen. Dafür muss man sich tiefer in die komplette Sachlage einarbeiten. Auch kosten alle Abfragen der Sensorwerte immer sehr viel Energie, daher sollte man sich die Daten wirklich nur bei Bedarf abrufen. Ein normaler Akku geht schon innerhalb von 1-2 Stunden (bei einer kontinuierlichen Sensor Abfrage) leer, was sehr ärgerlich für unseren App-Benutzer sein kann. Trotzdem sind die uns zur Verfügung stehenden Sensoren ein gutes Werkzeug, mit dem man (hauptsächlich) Spiele programmieren kann. 10. Network Services Einführung 65 Eins der wichtigsten Themen bei der Android Programmierung ist das Internet. Über die Network Service API lassen sich direkt vom Gerät aus, URLs aufrufen oder Inhalte auslesen und bearbeiten. Dafür benötigt das Gerät entweder Wireless-Lan oder einen der modernen Mobilfunk-Standards (GSM/EDGE/UMTS/LTE). Wir schauen uns nun an, wie man eine URL aufruft, dort einen JSON String abholt und am Handy wieder konvertiert. So können wir Daten von einem Server abrufen und am Handy bearbeiten URL Aufrufen Möchte wir eine URL(im Beispiel Twitter) aufrufen, um von dort einen JSON String abzuholen, benutzen wir einen GET-Aufruf: 62 Tabelle aus: (Bach, 2012, S. 404) 63 (Bach, 2012, S. 404) 64 ( 65 (Bach, 2012, S. 432) 32

34 Listing 28 Auslesen einer URL 66 Zum parsen unseres JSON Arrays benutzen wir dann: Listing 29 Parsen JSON Fazit Mobilität spielt eine immer größere Rolle in der Welt der Programmierung. Google hat uns hier eine gute Architektur geliefert, um professionelle Applikationen für den mobilen Bereich zu entwickeln. Die Java-Engine Dalvik bietet einem das Umfeld, welches man benötigt, um gute Java Programme zu schreiben. Das XML Schema zum Gestalten von Oberflächen ist gut verständlich und leicht nachzuvollziehen, wenn man bereits Erfahrung im Entwickeln von Webseiten mit Java oder anderen Programmiersprachen besitzt. So ist es auch nicht verwunderlich, dass die Anzahl an vorhandenen Applikationen für Android immer schneller steigt. Nach einer kurzen Eingewöhnungszeit ist jeder, der sich mit Java auskennt, sofort in der Lage Anwendungen für das Android OS zu programmieren. Auch hat Google eine gute Entscheidung getroffen, als es für Tablets die Android Version 3.2 veröffentlicht hat. Dadurch war man direkt in der Lage, Applikationen nur für Tablets zu schreiben. Da diese größeren Geräte meistens einen viel besseren Grafikchip haben als Handys, sind viel schönere, schnellere und anspruchsvollere Applikationen für die Tablets möglich. So findet man wöchentlich neue Veröffentlichungen von großartigen Spielen, die sogar mit PC-Versionen mithalten könnten. Der einzige zu erwähnende Nachteil von Android ist, die momentan noch agierende Update-Politik von Google. Wenn Google eine neue Android Version mit neuen Funktionen veröffentlicht, läuft diese normalerweise auf jedem schon vorhandenem Android Gerät. Doch leider werden diese Versionen immer sehr spät für die Handys und Tablets verfügbar. Google lässt jeden Handyhersteller Zeit, dass Betriebssystem nach seinen Wünschen anzupassen. Zu Beginn war das eine gute Strategie, 66 Listing aus: ( (gekürzt) 67 Listing aus: ( (gekürzt) 33

35 doch wie sich bei dem Release von Version 4 zeigte, waren die Hersteller immer weniger daran interessiert, für bereits bestehende Handys die Android Versionen anzupassen, da dies mehr Geld kostet als es effektiv einbringt. Somit müssen Handybesitzer oft Monate oder Jahrelang warten bis die Version von Android auch auf ihrem Gerät funktioniert. Trotz diesem Nachteiles, bleibt Android auf jeden Fall ein Thema, um das kein moderner Java- Entwickler herumkommt. Bereits bestehende Anwendungen lassen sich leicht mit einer Java Applikation erweitern, die dem Benutzer die Mobilität gibt die er möchte. 12. Literaturverzeichnis Bach, M. (2012). Mobile Anwendungen mit Android. Addison-Wesley. Abgerufen am Abgerufen am Abgerufen am 12. Mai Abgerufen am Abgerufen am Abgerufen am 12. Mai Abgerufen am backs. Abgerufen am Abgerufen am 12. Mai Abgerufen am 12. Mai Abgerufen am

36 Abgerufen am 12. Mai Abgerufen am Abgerufen am Abgerufen am Abgerufen am Abgerufen am Abgerufen am Abgerufen am Abgerufen am Abgerufen am Abgerufen am Abgerufen am Abgerufen am Abgerufen am Abgerufen am Abgerufen am Abgerufen am Abgerufen am Abgerufen am

37 13. Abbildungen Abbildung 1 Koordinatensystem Bildschirm... 5 Abbildung 2 Versionsübersicht... 5 Abbildung 3 Architektur Android... 7 Abbildung 4 Ordnerstruktur... 9 Abbildung 5 Manifest Permissions Graphisch Abbildung 6 Der Lebenszyklus einer Activity Abbildung 7 FrameLayout Graphisch Abbildung 8 LinearLayout Graphisch Abbildung 9 TableLayout Graphisch Abbildung 10 Intent Chooser auf dem Android Listings Listing 1 XML Permissions Listing 2 Activity Klasse Listing 3 Startactivity Listing 4 String Erzeugen Listing 5 R-Klasse (gekürzt) Listing 6 Neue Android ID in XML Listing 7 Verweis auf String über ID Listing 8 FrameLayout Notation (gekürzt) Listing 9 LinearLayout Notation (gekürzt) Listing 10 TableLayout Notation (gekürzt) Listing 11 RelativeLayout inkl. Abbildung Listing 12 Attribute TextView Listing 13 Zugriff auf Textview über ID Listing 14 Eventlistener für Button Listing 15 XMLButton Zuweisung der Klickmethode Listing 16 Programmieren der Klickmethode Listing 17 Spinner Notation Listing 18 EditText Notation Listing 19 TimePicker Notation Listing 20 Einbinden des Optionmenüs Listing 21 Behandeln eines (Menu)Click-Events Listing 22 Test ob ein Intent verfügbar ist Listing 23 Intent Chooser Code Listing 24 Aufruf des Content Resolvers Listing 25 Einfügen von Daten in einen Content Provider Listing 26 Updaten des Content Providers

38 Listing 27 Löschen von Content Provider Inhalten Listing 28 Auslesen einer URL Listing 29 Parsen JSON Tabellen Tabelle 1 CDD Katalog... 3 Tabelle 2 Maßeinheiten Bildschirm... 4 Tabelle 3 Ressourcenordner Unterteilung... 9 Tabelle 4 Ressourcentypen Tabelle 5 Activities Methoden Tabelle 6 Intent Types Tabelle 7 Benutzer Wörterbuch Tabelle Tabelle 8 Vergleich Content Resolver Query vs. SQL-String Tabelle 9 Attribute von Sensor Event Tabelle 10 Rückgabewert X-Y-Z

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM ÜBERSICHT Android Android Dalvik Virtuelle Maschine Android und Desktop Applikationen Android Entwicklung Tools R Activity

Mehr

Einführung in Android. 9. Dezember 2014

Einführung in Android. 9. Dezember 2014 Einführung in Android 9. Dezember 2014 Was ist Android? Software für mobile Geräte: Betriebssystem Middleware Kernanwendungen Android SDK: Tools und APIs zur Entwicklung von Anwendungen auf der Android-Plattform

Mehr

Seminar Multimediale Werkzeuge Sommersemester 2011

Seminar Multimediale Werkzeuge Sommersemester 2011 Seminar Multimediale Werkzeuge Sommersemester 2011 Dipl.-Ing. Marco Niehaus marco.niehaus@tu-ilmenau.de 09.06.2011 Page 1 Android Development - Installation Java SDK wird benötigt (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

Android User Interface

Android User Interface Android User Interface Eine Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 2 besprechen (inkl. Repetition)

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Besprechung der Aufgaben 1) Legen Sie das Android-Projekt HelloWorldApp an so wie es in den vorherigen Folien beschrieben

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

App Entwicklung für Android Devices

App Entwicklung für Android Devices App Entwicklung Wahlpflichtkurs: Dozent: Referent: Fortgeschrittene Programmierung in Java Prof. Dr. Klinker Sebastian Fox 30.10.2011, Seite 1 Praktische Anwendung von Java Programmierung Java Applets

Mehr

Einführung in Android (2) 16. Dezember 2014

Einführung in Android (2) 16. Dezember 2014 Einführung in Android (2) 16. Dezember 2014 Überblick Entwicklung der Benutzeroberfläche Views Layouts Menüs Listen und Adapter Einbinden weiterer Ressourcen Aktivierung von Activities Entwicklungsrichtlinien

Mehr

App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A

App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A D O Z E N T : R E F E R E N T : P R O F. D R. K L I N K E R R I C O L O S C H W I T Z Aufbau der Präsentation

Mehr

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

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework 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

Mehr

Android GUI Entwicklung

Android GUI Entwicklung Android GUI Entwicklung Aktuelle Technologien verteilter Java Anwendungen Referent: Stefan Haupt Hello World! Agenda Einführung & Motivation Android Applikationen UI-Komponenten Events Ressourcen Kommunikation

Mehr

Schritt für Schritt Anleitung zum Erstellen einer Android-App zum Ein- und Ausschalten einer LED

Schritt für Schritt Anleitung zum Erstellen einer Android-App zum Ein- und Ausschalten einer LED Schritt für Schritt Anleitung zum Erstellen einer Android-App zum Ein- und Ausschalten einer LED Mit Google Chrome nach MIT App Inventor suchen. In den Suchergebnissen (siehe unten) auf

Mehr

Android Apps. Mentoring SS 16. Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo 03.06.2016

Android Apps. Mentoring SS 16. Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo 03.06.2016 Android Apps Mentoring SS 16 Nicolas Lehmann, Sönke Schmidt, Alexander Korzec, Diane Hanke, Toni Draßdo 03.06.2016 Wichtige Dateien MainActivity.java activity_main.xml AndroidManifest.xml Die Dateien MainActivity.java,

Mehr

Inhaltsverzeichnis. Apps für Android entwickeln

Inhaltsverzeichnis. Apps für Android entwickeln Inhaltsverzeichnis zu Apps für Android entwickeln von Jan Tittel und Jochen Baumann ISBN (Buch): 978-3-446-43191-1 ISBN (E-Book): 978-3-446-43315-1 Weitere Informationen und Bestellungen unter http://www.hanser-fachbuch.de/978-3-446-43191-1

Mehr

Ogre Einführung Teil 1

Ogre Einführung Teil 1 Inhalt -Einleitung -Installieren und Einrichten von Ogre -Die erste Anwendung Ogre Einführung Teil 1 Einleitung Eine 3D Engine ist eine sehr komplexe Software und besteht aus mehreren tausend Zeilen Programmcode.

Mehr

3. Persistenz und Datenbanken Content Providers. Content Providers. Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen

3. Persistenz und Datenbanken Content Providers. Content Providers. Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen Content Providers Generische Schnittstelle zum Zugriff auf Daten zwischen Anwendungen Entkopplung der Daten-Schicht von der Anwendungsschicht Zugriff erfolgt URI-basiert Kontrolle der Zugriffsrechte eingebaute

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

3 Grundlagen. 3.1 Die erste App

3 Grundlagen. 3.1 Die erste App 19 3.1 Die erste App In diesem Abschnitt werden Sie Ihre ersten Schritte in der Windows- Phone-7-Entwicklung machen. Dabei werden Sie eine modifizierte»hallo Welt«-Anwendung schreiben. Daneben lernen Sie

Mehr

Übungen zur Android Entwicklung

Übungen zur Android Entwicklung Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen

Mehr

Eclipse :Bis(s) zum Javacode Einführung in die Eclipse-IDE

Eclipse :Bis(s) zum Javacode Einführung in die Eclipse-IDE EF-III-A6 Einführung in Eclipse Seite 1 von 5 Eclipse :Bis(s) zum Javacode Einführung in die Eclipse-IDE Erläuterung Eclipse/IDE Eclipse ist eine integrierte Open-Source-Entwicklungsumgebung für Software

Mehr

Über den Autor 7. Teil I Los geht s mit Java für die Android-Entwicklung 25. Kapitel 1 Alles über Java und Android 27

Über den Autor 7. Teil I Los geht s mit Java für die Android-Entwicklung 25. Kapitel 1 Alles über Java und Android 27 Inhaltsverzeichnis Über den Autor 7 Einführung 19 Wie Sie dieses Buch verwenden 19 In diesem Buch verwendete Konventionen 19 Was Sie nicht lesen müssen 20 Törichte Voraussetzungen 20 Wie dieses Buch aufgebaut

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

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

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel ab 2.6, aktuell 3.8 Managed Code,

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

H A E S S L E R. DoRIS Office Add-In. DoRIS Baustein für die Integration von MS Office in DoRIS. Installation & Anleitung

H A E S S L E R. DoRIS Office Add-In. DoRIS Baustein für die Integration von MS Office in DoRIS. Installation & Anleitung H A E S S L E R DoRIS Office Add-In DoRIS Baustein für die Integration von MS Office in DoRIS Installation & Anleitung DoRIS Office Add-In. DoRIS Baustein für die Integration von MS Office in DoRIS Installation

Mehr

Handbuch. BIZS Mobil App

Handbuch. BIZS Mobil App Handbuch Installation... am PC 1 SQL-Server TCP/IP aktivieren 2 Java installieren (wenn installiert Updaten) http://www.java.com 3 Ordner BIZS_SERVICE auf Datenträger kopieren z. B. C:/Programme/BIZS_SERVICE

Mehr

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum Analyse der Android Plattform Andre Rein, Johannes Florian Tietje FH-Gieÿen-Friedberg Android Praktikum 28. Oktober 2010 Topics 1 Übersicht Android Plattform Application Framework Activities und Services

Mehr

Erste Erfahrungen mit Android

Erste Erfahrungen mit Android Java User Group München, 22. 9. 2008 Erste Erfahrungen mit Android 1 Was ist Android? Die erste vollständige, offene und freie Plattform für mobile Telefone Entwickelt von der Open Handset Alliance (Telecoms,

Mehr

Android Apps entwickeln

Android Apps entwickeln Android Apps entwickeln Kompakt-Intensiv-Training Mit Apps können Sie den Nutzwert Ihres Android-Smartphones und -Tablets ständig erweitern. Wie Sie schnell mittels Java ihre eigenen Android Apps programmieren

Mehr

KVIrc - registrierte Benutzer i. KVIrc - registrierte Benutzer

KVIrc - registrierte Benutzer i. KVIrc - registrierte Benutzer i KVIrc - registrierte Benutzer ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME iii Contents 1 Einleitung 1 1.1 Wozu?......................................................... 1 1.2 Wie?..........................................................

Mehr

WCF Services in InfoPath 2010 nutzen

WCF Services in InfoPath 2010 nutzen WCF Services in InfoPath 2010 nutzen Abstract Gerade wenn man schreibend von InfoPath aus auf eine SQL-Server Datenbank zugreifen will, kommt man quasi um einen Web Service nicht herum. In diesem Post

Mehr

FÜR GOOGLE ANDROID OPERATING SYSTEM. Dokumentation. Version 1.2013. 2013 NAM.IT Software-Entwicklung Alle Rechte vorbehalten.

FÜR GOOGLE ANDROID OPERATING SYSTEM. Dokumentation. Version 1.2013. 2013 NAM.IT Software-Entwicklung Alle Rechte vorbehalten. FÜR GOOGLE ANDROID OPERATING SYSTEM Dokumentation Version 1.2013 2013 NAM.IT Software-Entwicklung Alle Rechte vorbehalten. 1 Information Diese Dokumentation beschreibt die Funktionen der kostenpflichten

Mehr

Einführung in die Cross-Plattform Entwicklung Zugriff auf Sensoren mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Zugriff auf Sensoren mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Zugriff auf Sensoren mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Sensoren vertraut. Es wird

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

CC Modul Leadpark. 1. Setup 1.1 Providerdaten 1.2 Einstellungen 1.3 Qualifizierungsstati 1.4 Reklamationsstati 1.5 Design 1.

CC Modul Leadpark. 1. Setup 1.1 Providerdaten 1.2 Einstellungen 1.3 Qualifizierungsstati 1.4 Reklamationsstati 1.5 Design 1. CC Modul Leadpark 1. Setup 1.1 Providerdaten 1.2 Einstellungen 1.3 Qualifizierungsstati 1.4 Reklamationsstati 1.5 Design 1.6 Dateien 2. Mein Account 2.1 Shortcutmenü 2.2 Passwort 2.3 E-Mail 2.4 Daten 3.

Mehr

Self Submitting auf Google Play

Self Submitting auf Google Play Self Submitting auf Google Play 1. Erstellen eines Developer Accounts 1.1 Konto erstellen auf Google und Developer. 1.2 Zahlungseinstellungen 1.3 Registrierung abschliessen 2. Token auf Google generieren.

Mehr

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Carla Delgado-Battenfeld Fatih Gedikli Tobias Marschall Benjamin Schowe

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Inhalt Toast-Meldungen Permissions Sensoren GPS (Global Positioning System) Kamera Anzeigen von Koordinaten auf einer

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

Handbuch TweetMeetsMage

Handbuch TweetMeetsMage Handbuch TweetMeetsMage für Version 0.1.0 Handbuch Version 0.1 Zuletzt geändert 21.01.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Voraussetzungen... 3 1.2 Funktionsübersicht... 3 2 Installation... 4

Mehr

RÖK Typo3 Dokumentation

RÖK Typo3 Dokumentation 2012 RÖK Typo3 Dokumentation Redakteur Sparten Eine Hilfe für den Einstieg in Typo3. Innpuls Werbeagentur GmbH 01.01.2012 2 RÖK Typo3 Dokumentation Inhalt 1) Was ist Typo3... 3 2) Typo3 aufrufen und Anmelden...

Mehr

Informatik I Eprog HS10

Informatik I Eprog HS10 Department of Informatics software evolution & architecture lab Informatik I Eprog HS10 Übung 5 1 Aufgabe: Konstruktoren und statische Variablen 1.1 Lernziele 1. Sie können ein Java Projekt in Eclipse

Mehr

Modellierung einer Android-App. 2. Mai 2013

Modellierung einer Android-App. 2. Mai 2013 Modellierung einer Android-App 2. Mai 2013 Taentzer Software-Praktikum 2013 42 Überblick Modellierung der wesentlichen Aspekte Welche Anwendungsfälle haben wir? Übersicht durch Anwendungsfalldiagramme

Mehr

Matthias Furtmüller, Stefan Haselböck. Android

Matthias Furtmüller, Stefan Haselböck. Android Matthias Furtmüller, Stefan Haselböck Android Grundlagen, Entwicklungsumgebung, wichtige Konzepte und Bibliotheken, Unit Testing unter Android, Simulator, Deployment Inhaltsverzeichnis 1 Entwicklungsumgebung,

Mehr

Auf einen Blick. Elementare Anwendungsbausteine. Telefonfunktionen nutzen. Dateien und Datenbanken. Organizer und Multimedia

Auf einen Blick. Elementare Anwendungsbausteine. Telefonfunktionen nutzen. Dateien und Datenbanken. Organizer und Multimedia Auf einen Blick Auf einen Blick TEIL I Grundlagen 1 Android eine offene, mobile Plattform... 21 2 Hallo Android!... 43 3 Von der Idee zur Veröffentlichung... 73 TEIL II Elementare Anwendungsbausteine 4

Mehr

App Entwicklung mit dem Android SDK

App Entwicklung mit dem Android SDK App Entwicklung mit dem Android SDK Grafische Benutzeroberfläche Dominik Wagner Informatik Sommercamp 2012 23.7.2012 Kurze Übersicht Um ein Layout für eine Android-Anwendung zu definieren schreibt man

Mehr

Microsoft Visual Studio Community 2015

Microsoft Visual Studio Community 2015 Microsoft Visual Studio Community 2015 Visual Studio Community 2015 ist eine kostenlose IDE mit leistungsfähigen Programmier- und Entwicklungswerkzeugen für Windows, ios und Android. Sie ist für einzelne

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

Handbuch. Terminverwaltungssoftware für Microsoft Windows und TomTom Telematics

Handbuch. Terminverwaltungssoftware für Microsoft Windows und TomTom Telematics Handbuch Terminverwaltungssoftware für Microsoft Windows und TomTom Telematics Systemanforderungen ab Microsoft Windows Vista Service Pack 2, Windows 7 SP 1 Microsoft.NET Framework 4.5 Full ab Microsoft

Mehr

Google Android API. User Interface. Eine knappe Einführung

Google Android API. User Interface. Eine knappe Einführung Google Android API User Interface Eine knappe Einführung Google Android API User Interface Designelement Wofür Klasse/Package View Basisklasse für alle Designelemente public class android.view.view Viewgroup

Mehr

Entwurfsbeschreibung der Softwarestudie

Entwurfsbeschreibung der Softwarestudie swp15-lib Entwurfsbeschreibung der Softwarestudie Projektleiter: Christian Blecha Christian Blecha 07.04.2015 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur- und Entwurfsprinzipien

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android XML / Layouts Hochschule Darmstadt WS15/16 1 Inhalt XML Layouts Layouttypen Dimensions View Element Designs Farben Strings 2 XML XML ist eine Meta-Sprache zur Festlegung der

Mehr

Java Applet Alternativen

Java Applet Alternativen White Paper Java Applet Alternativen Version 1.0, 21.01.2014 Tobias Kellner tobias.kellner@egiz.gv.at Zusammenfassung: Aufgrund diverser Meldungen über Sicherheitslücken in Java haben in letzter Zeit Browser-Hersteller

Mehr

Nachfolgend wird beschrieben wie das Online-Umfrage-Tool installiert wird sowie welchen Funktionsumfang das Tool umfasst.

Nachfolgend wird beschrieben wie das Online-Umfrage-Tool installiert wird sowie welchen Funktionsumfang das Tool umfasst. 1 Benutzerhandbuch Nachfolgend wird beschrieben wie das Online-Umfrage-Tool installiert wird sowie welchen Funktionsumfang das Tool umfasst. 1.1 Installation des Umfragetools - entfernt nicht für Öffentlichkeit

Mehr

Mobile App Development. - Einführung -

Mobile App Development. - Einführung - Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum ca. 10 Wochen

Mehr

Android - Basics. 16.10.2013 Praktikum Enwicklung von Mediensystemen WS13/14

Android - Basics. 16.10.2013 Praktikum Enwicklung von Mediensystemen WS13/14 Android - Basics 1 Heute Was ist Android? Programmieren für Android App-Struktur Activities und Intents App-Design GUI und Layout 2 Android in a nutshell Open-Source (Open Headset Alliance) Basiert auf

Mehr

Vorwort. Was ist afs Business Address? Wer benötigt diese App? Was kostet diese App?

Vorwort. Was ist afs Business Address? Wer benötigt diese App? Was kostet diese App? Inhaltsverzeichnis Vorwort... 3 Was ist afs Business Address?... 3 Wer benötigt diese App?... 3 Was kostet diese App?... 3 afs Business Address installieren *... 4 Variante 1: Im Play Store suchen... 4

Mehr

2. GUI-Programmierung für mobile Geräte

2. GUI-Programmierung für mobile Geräte 2. GUI-Programmierung für mobile Geräte Lernziele 2. GUI-Programmierung für mobile Geräte Themen/Lernziele: Einführung Lebenszyklus einer Android-Anwendung Beispiele GUI-Elemente Einbindung externer Ressourcen

Mehr

Versand von Einladungen zur Teilnahme an der Umfrage mit Seriendruck Funktion von Microsoft Office 2007

Versand von Einladungen zur Teilnahme an der Umfrage mit Seriendruck Funktion von Microsoft Office 2007 Versand von Einladungen zur Teilnahme an der Umfrage mit Seriendruck Funktion von Microsoft Office 2007 [Eine Schritt für Schritt Anleitung] Inhalt 1. Erstellen einer Liste mit Probandendaten... 2 2. Erstellung

Mehr

Auf der Homepage steht

Auf der Homepage steht Auf der Homepage steht VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product

Mehr

Android. 2 24.09.2013 Mobile Systeme - Android

Android. 2 24.09.2013 Mobile Systeme - Android Android 24.09.2013 Android Plattform/Betriebssystem für mobile Endgeräte wie z.b. Smartphones Basiert auf dem Linux Kernel Bis auf grundlegende Prozesse werden alle Anwenden mithilfe einer speziellen JVM

Mehr

2. Hintergrundverarbeitung in Android: Services und Notifications

2. Hintergrundverarbeitung in Android: Services und Notifications 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services

Mehr

Content Management System (CMS) Manual

Content Management System (CMS) Manual Content Management System (CMS) Manual Thema Seite Aufrufen des Content Management Systems (CMS) 2 Funktionen des CMS 3 Die Seitenverwaltung 4 Seite ändern/ Seite löschen Seiten hinzufügen 5 Seiten-Editor

Mehr

Debugging in APEX. Christina Funke Apps Associates GmbH Dortmund

Debugging in APEX. Christina Funke Apps Associates GmbH Dortmund Debugging in APEX Christina Funke Apps Associates GmbH Dortmund Schlüsselworte Oracle Application Express, APEX, Debugging, Debugging Collection, Remote Debugging mit SQL- Developer, Error Handling, benutzerfreundliche

Mehr

Anlegen von Serviceboxen

Anlegen von Serviceboxen TYPO3 an der TU Berlin Anlegen von Serviceboxen Version: 1.0 Stand: 01.11.2007 Autor: Antje Janke Überarbeitung: Roman Zimmer 1 Inhaltsverzeichnis 1. Allgemeine Informationen......3 1.1 Was sind Serviceboxen?......3

Mehr

GDI - Gesellschaft für Datentechnik und Informationssysteme mbh. Installation und Konfiguration des GDI App Servers für die Verwendung der GDI Apps

GDI - Gesellschaft für Datentechnik und Informationssysteme mbh. Installation und Konfiguration des GDI App Servers für die Verwendung der GDI Apps GDI - Gesellschaft für Datentechnik und Informationssysteme mbh Installation und Konfiguration des GDI App Servers für die Verwendung der GDI Apps Inhaltsverzeichnis 1. Inhalt... 2 a. GDI Zeit-App... 2

Mehr

Benutzerhandbuch Managed ShareFile

Benutzerhandbuch Managed ShareFile Benutzerhandbuch Managed ShareFile Kurzbeschrieb Das vorliegende Dokument beschreibt die grundlegenden Funktionen von Managed ShareFile Auftraggeber/in Autor/in Manuel Kobel Änderungskontrolle Version

Mehr

Softwareentwicklungsprozess im Praktikum. 25. April 2013

Softwareentwicklungsprozess im Praktikum. 25. April 2013 Softwareentwicklungsprozess im Praktikum 25. April 2013 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de DYNAMISCHE SEITEN Warum Scriptsprachen? Stand: 11.04.2005 CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de I N H A L T 1 Warum dynamische Seiten?... 3 1.1 Einführung... 3 1.2 HTML Seiten...

Mehr

Updateseite_BuV-PlugIn-NERZ-Gesamt

Updateseite_BuV-PlugIn-NERZ-Gesamt Autoren Dipl.-Ing. H. C. Kniß Dipl.-Math. L. Givorgizova Ersteller Geschäftsstelle NERZ e. V. Kölner Straße 30 D-50859 Köln Version: 5.0 Stand: 15.02.2013 Status: akzeptiert 1 Allgemeines 1.1 Änderungsübersicht

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

Thomas Künneth. Android 3. Apps entwickeln mit dem Android SDK. Galileo Press

Thomas Künneth. Android 3. Apps entwickeln mit dem Android SDK. Galileo Press Thomas Künneth Android 3 Apps entwickeln mit dem Android SDK Galileo Press Vorwort 13 TEIL I Grundlagen 1.1 Entstehung 19 1.1.1 Die Open Handset Alliance, 20 1.1.2 Android Ine 20 1.1.3 Evolution einer

Mehr

Datenhaltung für Android. Model First

Datenhaltung für Android. Model First Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung

Mehr

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test Windows Client Management AG Alte Haslenstrasse 5 CH-9053 Teufen wincm.ch 1 Quick Install - Scripting Framework Workplace...3

Mehr

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden? Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden? Anforderung Durch die Bearbeitung einer XML-Datei können Sie Ihre eigenen Dokumentationen (z.b. PDF-Dateien, Microsoft Word Dokumente

Mehr

Dokumentation Authentische Strukturdaten

Dokumentation Authentische Strukturdaten Dokumentation Version 1.1 Version 1.0 Seite 1/18 31.10.2008 Inhaltsverzeichnis 1. Allgemeines...3 1.1 Phasenmodell...3 1.1.1 Phase I...3 1.1.2 Phase II...3 1.1.3 Phase III...3 1.2 Datenaktualität...3 2.

Mehr

Benutzerhandbuch. Neukirchen

Benutzerhandbuch. Neukirchen Benutzerhandbuch Neukirchen August 2015 Kontakt: Kai Hübl Lambertsberg 17 D-34626 Neukirchen kai.huebl@asneg.de Contents 1 Einleitung... 5 1.1 Inhalt... 5 1.2 OPC UA Client Stack... 5 1.3 OPC UA Server

Mehr

Mobile Systeme Android 07.04.2011

Mobile Systeme Android 07.04.2011 Mobile Systeme Android 07.04.2011 Android Plattform/Betriebssystem für mobile Endgeräte wie z.b. Smartphones Basiert auf dem Linux Kernel Bis auf grundlegende Prozesse werden alle Anwenden mithilfe einer

Mehr

Audacity Ein kostenfreies Programm zur Audiobearbeitung

Audacity Ein kostenfreies Programm zur Audiobearbeitung Audacity Ein kostenfreies Programm zur Audiobearbeitung Audacity herunterladen Download Audacity: Audacity ist ein kostenloses Programm, sogenannte Open-Source- Software, mit dem man selbst Töne aufnehmen

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK vertraut. Es wird Schritt für Schritt die erste eigene Hybrid-App entwickelt

Mehr

Bedienungsanleitung WeeklyPicture4u.de Version 1.02 Frank Kruse

Bedienungsanleitung WeeklyPicture4u.de Version 1.02 Frank Kruse Bedienungsanleitung WeeklyPicture4u.de Version 1.02 Frank Kruse Vorwort In diese Bedienungsanleitung findest du alles Wichtige in einer Schritt für Schritt Anleitung, um bei WeeklyPicture4u.de mitzumachen.

Mehr

Lyoness Cashback Bar Benutzerhandbuch

Lyoness Cashback Bar Benutzerhandbuch Lyoness Cashback Bar Benutzerhandbuch Vielen Dank für Ihr Interesse an der Lyoness Cashback Bar. Mit diesem praktischen Browser-Add-on verpassen Sie beim Online Shopping nie wieder Ihren Cashback und finden

Mehr

Typo 3 installieren. Schritt 1: Download von Typo3

Typo 3 installieren. Schritt 1: Download von Typo3 Typo 3 installieren Bevor Sie Typo3 installieren, müssen Sie folgende Informationen beachten: Typo3 benötigt eine leere Datenbank. Mit Ihrem Abonnement verfügen Sie über eine einzige Datenbank. Sie können

Mehr

Was Cloud Control über Ihre installierte Software berichten kann. Martin Obst Oracle Deutschland Potsdam

Was Cloud Control über Ihre installierte Software berichten kann. Martin Obst Oracle Deutschland Potsdam Was Cloud Control über Ihre installierte Software berichten kann Schlüsselworte: Martin Obst Oracle Deutschland Potsdam Enterprise Manager 12c, Cloud Control, Discovery, Asset Management, Software Einleitung

Mehr

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

Mehr

Der schnelle Weg zu Ihrer eigenen App

Der schnelle Weg zu Ihrer eigenen App Der schnelle Weg zu Ihrer eigenen App Meine 123App Mobile Erreichbarkeit liegt voll im Trend. Heute hat fast jeder Zweite in der Schweiz ein Smartphone und damit jeder Zweite Ihrer potentiellen Kunden.

Mehr

WordPress. Dokumentation

WordPress. Dokumentation WordPress Dokumentation Backend-Login In das Backend gelangt man, indem man hinter seiner Website-URL einfach ein /wp-admin dranhängt www.domain.tld/wp-admin Dabei gelangt man auf die Administrationsoberfläche,

Mehr

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2

Mehr

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1 Automatisierte Erstellung von Software-Builds und -dokumentationen Teil 1 Autoren: Hagedorn, Robert; Denninger, Oliver Kontakt: {hagedorn denninger}@fzi.de Web: http://zfs.fzi.de Ort, Datum: Karlsruhe,

Mehr

ROFIN App Benutzerhandbuch. Version 1.0

ROFIN App Benutzerhandbuch. Version 1.0 ROFIN App Benutzerhandbuch Version 1.0 Inhaltsverzeichnis 1. Beschreibung 2. Passwort und Einstellungen 3. Support Tab 4. Vertriebs Tab 5. Web Tab 6. Häufig gestellte Fragen BESCHREIBUNG Die ROFIN App

Mehr

Informationen zur Verwendung von Visual Studio und cmake

Informationen zur Verwendung von Visual Studio und cmake Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake... 2 Erste Schritte mit Visual Studio... 2 Einstellungen für Visual Studio 2013... 2 Nutzung von cmake... 6 Installation von

Mehr

Dirk Nachbar (dirk.nachbar@trivadis.com)

Dirk Nachbar (dirk.nachbar@trivadis.com) Betrifft: Autor: Art der Info: Quelle: XSQL Servlet und FOP Dirk Nachbar (dirk.nachbar@trivadis.com) Technische Background Info Aus unserer Projekt- und Schulungserfahrung http://xml.apache.org/fop, http://www.xml.com,

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# 02: Visual Studio / Hello World. Boris Hülsmann

Einführung in das Microsoft.NET-Framework. Programmiersprache C# 02: Visual Studio / Hello World. Boris Hülsmann Einführung in das Microsoft.NET-Framework Programmiersprache C# 02: Visual Studio / Hello World Boris Hülsmann 23.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

Einführung in die Android App-Entwicklung. Patrick Treyer und Jannis Pinter

Einführung in die Android App-Entwicklung. Patrick Treyer und Jannis Pinter Einführung in die Android App-Entwicklung Patrick Treyer und Jannis Pinter Agenda Was ist Android? Android Versionen Layout, Strings und das Android Manifest Activities, Intents und Services Entwicklungsumgebung

Mehr

Mobile Application Development

Mobile Application Development 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

Mehr

JCLIC. Willkommen bei JClic

JCLIC. Willkommen bei JClic JCLIC Willkommen bei JClic JClic ist ein Autorentool, mit dem man Übungen bzw. Projekte erstellen kann, die sich sehr gut zum Erarbeiten und Festigen eines Wissensgebietes in Einzelarbeit eignen. Die mit

Mehr

Einführung in Android. 22. Oktober 2014

Einführung in Android. 22. Oktober 2014 Einführung in Android 22. Oktober 2014 Was ist Android? Software für mobile Geräte: Betriebssystem Middleware Kernanwendungen Android SDK: Tools und APIs zur Entwicklung von Anwendungen auf der Android-Plattform

Mehr