Einführung in das mobile Betriebssystem Android

Größe: px
Ab Seite anzeigen:

Download "Einführung in das mobile Betriebssystem Android"

Transkript

1 Einführung in das mobile Betriebssystem Android Seminararbeit von Alexander Cüpper Matr.-Nr Dezember Betreuer : Prof. Dr. Volker Sander 2. Betreuer : Dr.-Ing. Christoph Butenweg

2 Inhaltsangabe 1 Einleitung 2 Vergleich Android 2 vs. Apple ios 4 und Symbian^3 2.1 Übersicht der Betriebssysteme Apple ios Symbian^ Google Android 2.x 2.2 Der Vergleich 2.3 Warum Android? 3 Der Aufbau von Android 3.1 Architekturen Die Dalvik Virtual Machine Die Basisbibliotheken Anwendungsrahmen (Application Framework) Anwendungsschicht (Applications) 3.2 Oberflächengestaltung Das Android-Manifest View Layout Activity 3.3 Weitere Komponenten einer Anwendung Services Die Klasse Context Content Provider Broadcast Receiver 3.4 Intents Explizite Intents Implizite Intents Intent-Filter 4 Programmierung in Java 4.1 Warum Java? 4.2 Android Development Tools(ADT) ADT-Plugin Android Emulator Android Debug Bridge(adb) sqlite dx-tool 4.3 Einstiegsbeispiel für Android 5 Fazit / Ausblick 6 Anhang / Quellen 6.1 Literaturverzeichnis 6.2 Abbildungsverzeichnis 1

3 1 Einleitung 1.1 Motivation und Ziel Am Lehrstuhl für Baustatik und Baudynamik der RWTH Aachen wurde und wird die Software MINEA entwickelt und weiterentwickelt. Durch die Software ist es möglich die Standsicherheitsnachweise von Mauerwerksbauten und Mauerwerksbauten in Mischbauweise unter Vertikal- und Horizontallasten aus Erdbeben und Wind durchzuführen. Durch eine integrierte Datenbankstruktur können alle Mauerwerksund Betonmaterialen in der Berechnung verwendet werden. Die Berechnung erfolgt in MINEA, je nach Anforderungen des konkreten Objektes, anhand einer zwei- oder dreidimensionalen Modellierung des Tragwerks. Innerhalb der Software ist ebenfalls eine Datenbank für Erdbebenzonen für Deutschland. Mit dieser lassen sich in einem Tool von MINEA elastische Antwortspektren für bestimmte Untergrund- und Baugrundklassen anzeigen. Im Zuge meiner anstehenden Bachelorarbeit werde ich dieses Tool als Applikation für Android entwickeln. Das Tool soll alleinstehend auf mobilen Endgeräten mit dem Betriebssystem Android funktionieren. Zusätzlich zum Grundrahmen des Tools soll eine Verlinkung mit Google Maps implementiert werden. Mit dieser Seminararbeit möchte ich einen Einblick in das Betriebssystem Android geben. Dabei wird der Aufbau erläutert und ein Überblick über die Entwicklung von Android Applikationen gegeben, um für die Bachelorarbeit eine gewisse Grundlage zu schaffen. 2

4 2 Vergleich Android 2 vs. Apple ios 4 und Symbian^3 2.1 Übersicht der Betriebssysteme Um einen guten Überblick über Android zu bekommen, möchte ich neben Android zunächst die Betriebssysteme Apple ios und Symbian vorstellen um diese mit Android zu vergleichen und abgrenzen zu können Apple ios 4 Das Betriebssystem ios 4 von Apple wurde mit dem Erscheinen des iphone Anfang 2007 vorgestellt. ios ist ein auf das iphone angepasstes und auf ARM(Advanced RISC Machine)-Prozessoren portierter Abkömmling von Mac OS X. Nicht nur auf dem iphone findet ios Verwendung. Die Apple-Produkte ipad, ipod und die zweite Generation der Apple TV laufen ebenfalls mit ios, womit jedoch die Anzahl von Endgeräten schon ausgeschöpft ist. Es ist zwar möglich, in Form von Klonen der Original ios, das Betriebssystem auf anderen Smartphones zu installieren - jedoch ist dies von Apple nicht beabsichtigt. Wenn man bei ios zum Beispiel einen Musiktitel auf das Abbildung 1- ios Homescreen iphone/den ipod portieren möchte, ist man an itunes gebunden, denn alles was mit Multimedia und Synchronisation von Kalendereinträgen, Kontakten und zusammenhängt, läuft über itunes. Hierbei funktioniert alles nicht so einfach, wie mit anderen Smartphones. Man kann die Geräte dabei einfach an einen PC anschließen und sich als externes Laufwerk anzeigen lassen. Daraufhin kann man die Geräte einfach per Drag and Drop mit Musik oder Ähnlichem füllen. Wenn man sein ios Betriebssystem mit Zusatzprogrammen(Spiele o.ä.) versehen möchte, kommt man um den App Store von Apple nicht herum. Durch diesen wurde der Markt für Zusatzprogramme erst richtig geschaffen. Dementsprechend gut ist die Handhabung, die Sortierung und das Angebot im App Store, welcher inzwischen mehr als Applikationen fasst[stand Oktober 2010]. Kritik muss Apple einstecken, wenn es um Zulassung und Verweigerung von Software zur Aufnahme in den App Store geht, da die Kriterien, nach denen dies gemacht wird, nicht offengelegt sind und deswegen auch als willkürlich beschrieben werden können. Zum Beispiel werden Applikationen, wie zum Beispiel ein Mailclient eines 3

5 Drittanbieters, die aber auch durch das eigene Betriebssystem zur Verfügung gestellt werden, nicht für den App Store freigeschaltet. Seit ios 4 ist das Betriebssystem endlich multitaskingfähig, was andere Betriebssysteme schon lange waren. Apple argumentierte bisher, dass unkontrolliertes Multitasking zu viel Akkuleistung verbrauchen würde, was nicht im Sinne des Nutzers ist. Außerdem ist Apple der Meinung, dass Multitasking nur mit genügend Arbeitsspeicher benutzbar sei. Auf Grund dessen sei Multitasking nicht auf allen bzw. älteren Endgeräten von Apple möglich. Ein weiteres Problem ist, dass die Anwendungen an Multitasking angepasst werden müssen, da die alten Anwendungen nicht für Multitasking programmiert worden sind. Vermutlich werden viele ältere Anwendungen nicht angepasst, wodurch die Nutzung von Multitasking nicht ausgereizt wird. Der Sensorbildschirm der Endgeräte dient zur Bedienung des ios, da es von Anfang an auf kapazitive Touchscreens ausgelegt worden ist. Dadurch werden Multi-Touch- Gesten unterstützt, welche sich an reelle Fingerbewegungen lehnen und deswegen das Bedienen intuitiv vereinfachen. ios Applikationen können nur auf dem Betriebssystem Mac OS X entwickelt werden, da die integrierte Entwicklungsumgebung Xcode von Apple nur unter Mac OS X läuft. Xcode mit der iphone-sdk bekommt man kostenlos nachdem man sich bei Apple als Entwickler registriert hat, wobei sich die Kosten auf 99$ im Jahr belaufen. Zur Programmierung wird Obejctive-C genutzt, was eine objektorientierte Spracherweiterung von Standard C ist. Zuletzt sei gesagt, dass ios kein quelloffenes System ist, wodurch eine schnelle Reaktion auf Trends und Innovationen nicht gegeben ist Symbian^3 Symbian^3 ist ein Betriebssystem für Smartphones und PDAs, welches von der Non-Profit-Organisation Symbian Foundation als Open-Source System verwaltet wird. Die Symbian Foundation wurde 2008 unter anderem von Nokia, Sony Ericsson, NTT DoCoMo, Motorola, Texas Instruments, Vodafone, LG Electronics, Samsung Electronic, STMicorelectronics sowie AT&T gegründet. Im Sommer 2010 wurde der Source Code von Symbian^3 vollständig als Open Source veröffentlicht. Bereits 2001 kam eine frühere Symbian-Version auf Smartphones von Nokia und Sony Ericsson zum Einsatz. Inzwischen jedoch handelt es sich um ein aussterbendes Betriebssystem, da zum Beispiel sowohl Samsung als auch Sony Ericsson verkündet haben, bei zukünftigen Smartphones auf Symbian zu verzichten. Symbian^3 hat vieles mit Desktop-Betriebssystemen Abbildung 2 Symbian Homescreen 4

6 gemeinsam. Es verfügt unter anderem über präemptives Multitasking, Multithreading und Speicherschutz. Die Geräteauswahl bei Symbian beschränkt sich zwar auf Handys bzw. Smartphones, jedoch ist unter diesen die Auswahl sehr groß. Fast alle dieser Geräte verfügen über ein gutes Multimediaangebot(Kamera, Musik- und Videoplayer), jedoch ist fraglich, wieso dort so viele Ressourcen verschwendet werden und nicht eher in Oberfläche und App Store investiert wird. Der Symbian-Homescreen hat sich zum Beispiel in den letzten Jahren ebenso wenig verändert wie die Oberfläche und die Art der Bedienung. Symbian^3 hat keinen eigenen zentralen App Store, welcher nennenswert viele Applikationen zur Verfügung stellt. Das keine feste Verdrahtung zu einem bestimmten Store vorhanden ist, erkennt man auch daran, dass man beim ersten Starten der Store-App der verschiedenen Anbieter auf dem Smartphone einen Storeclient herunterladen muss. In der Vergangenheit hat Symbian Maßstäbe gesetzt, was die Bedienung angeht. Jedoch hießen zu dieser Zeit Smartphones noch Handys und die Steuerung war mittels Joystick oder Vierwege-Pad und Okay-Taste üblich. Die meisten Smartphones mit Symbian haben auf Grund dessen meist gar keinen Touchscreen oder, falls doch, eine zusätzliche Tastatur zur Bedienung. Nokia hat ebenfalls angekündigt, dass Symbian sehr bald in der Multifunktionsklasse von MeeGo abgelöst werden wird. Dabei handelt es sich um ein offenes Linux- System. Andere Klassen, wie z.b. die Businessklasse, werden weiter mit Symbian laufen. Resultierend aus alten gutlaufenden Zeiten ist Symbian sehr weit verbreitet, dadurch ist es auch im Visier von Virenprogrammieren. Durch Einführen eines Zertifikatssystems ab einer Vorversion von Symbian^3 ist die Sicherheit erheblich erhöht worden. Programme ohne ein gültiges Zertifikat von SymbianSigned können nicht mehr installiert werden. Deswegen kann eine gecrackte oder mit Viren verseuchte Software nicht mehr ohne Umwege auf dem Endgerät installiert werden. Um für Symbian programmieren zu können braucht man allem voran Programmierkenntnisse in C++. Alles Weitere, was man zum Entwickeln für Symbian braucht, wird von Qt Development Frameworks, einer Sparte von Nokia, geliefert. Darin eingeschlossen ist unter anderem eine C++-Bibliothek und die Entwicklungsumgebung Qt Creator für alle möglichen Betriebssysteme. Auf der Entwicklerseite von Nokia werden diese kostenlos zum Download in einem Komplettpacket angeboten. Der Vorteil hierbei liegt darin, dass man so ziemlich alle Klassen, die man bei der Desktopentwicklung verwendet, benutzen kann. Unterstützung für relationale Datenbanken in der Implementierung von SQLite wird ebenso von Symbian^3 geboten. Abschließend kann man sagen, dass die Entwicklung eher von Symbian weg geht, und in die Richtung von MeeGo läuft, da Symbian in vielen Punkten einfach zu weit abgeschlagen gegenüber anderen Betriebssystemen ist. Der Markt hat sich deutlich 5

7 gewandelt. Die aktuelle Governance-Struktur von Symbian ist diesem nicht mehr angemessen Google Android 2.X Android ist ein Betriebssystem bzw. eine Softwareplattform, welche von der, von Google Inc. geleiteten, Open Handset Alliance entwickelt wird. Android wird auf mobilen Geräten, wie Smartphones, Mobiltelefonen, Netbooks und Tablets genutzt. Die Open Handset Alliance wurde von der Firma Google am 5. November 2007 mit 47 Partnern gegründet. Unter den Gründern waren Firmen aus den unterschiedlichsten Branchen vertreten. Dazu gehörten Software-Firmen, Mobiltelefonhersteller, Netzbetreiber, Chiphersteller und Marketingunternehmen. Damit war jede Branche, die wichtig für das Entwickeln von guten mobilen Geräten sind in dem Konsortium vorhanden. Inzwischen beläuft sich die Anzahl der Mitglieder auf 78 unterschiedliche Firmen. Schon im Sommer 2005 kaufte Google die bis dahin relativ unbekannte, im Herbst 2003 gegründete, Firma Android. Man wusste nur, dass Android Software für Mobiltelefone entwickelt, insbesondere mit dem Hauptaugenmerk auf standortbezogene Dienste. Das System Android ist eine freie Software und komplett quelloffen. Dadurch haben die einzelnen Unternehmen die Möglichkeit das Betriebssystem auf ihre eigenen Bedürfnisse bzw. Vorstellungen anzupassen. Das ist einer der Gründe, weswegen es eine so große Auswahl an mobilen Endgeräten von momentan 14 vertreibenden Unternehmen gibt, wobei HTC mit 14 Smartphones die größte Auswahl bietet. Diese Auswahl bringt aber nicht nur Vorteile mit sich. Zum einen wird das Betriebssystem durch die vielen eigenen Varianten zersplittert und zum anderen produzieren die Firmen so viele Produkte, dass sie aus Eigeninteresse keine Updates des Betriebssystems zur Verfügung stellen. Das entspricht jedoch nicht dem Kerngedanken des offenen Systems Android. Dieses Problem soll jedoch mit späteren Versionen entfernt werden, indem die Google-Software und Hersteller- Oberfläche entkoppelt werden. Dadurch kann der Kunde die Neuerungen von Android nutzen ohne darauf warten zu müssen, dass die verschiedenen Unternehmen ihre Version der neuen Android-Version entwickelt haben. Das ist aber das Einzige, was man bei Quelloffenheit kritisieren kann. Es gibt dadurch zum Beispiel eine umfangreiche Hilfe im Netz mit APIs, Tutorials und Code- Beispielen. Der größte Vorteil ist jedoch die schnelle Entwicklung von Android. Nicht nur das Betriebssystem kann sich so schnell an Trends und Innovationen anpassen, auch die Vielfalt an Applikationen steigt stetig. Jeden Monat kommen ca Applikationen zu den bereits [Stand: ] vorhandenen Applikationen hinzu, damit ist der Android Market die am schnellsten wachsende Market-Software, 6 Abbildung 3 - Android Homescreen

8 obwohl das Projekt noch jung ist. Diese Tatsachen machen den Market natürlich für den Endnutzer sehr interessant, vor allem weil viele Applikationen kostenlos zu erhalten sind. Zu Anfang der Entwicklung von Android war ein Google-Konto Pflicht, jedoch hat sich dies im Lauf der Zeit gelockert und man braucht nicht unbedingt ein Google-Konto zu eröffnen, was allerdings empfehlenswert ist, da man sonst nicht alle Features des Betriebssystem nutzen kann. Ohne das Google-Konto kann zum Beispiel der Android Market nicht benutzt werden. Durch das Google-Konto hat man zusätzlich die Möglichkeit seine Kontakte, Kalendereinträge etc. auf dem Computer zu synchronisieren und zu sichern. Die Android-Architektur beruht auf den Linux-Kernel der Version 2.6. Er ist für die Kernsystemservices Speicherverwaltung, Prozessverwaltung und Netzwerkkommunikation zuständig. Zusätzlich bildet er die Hardwareabstraktionsschicht für die Software und stellt die Gerätetreiber für das System. Ebenso wichtig sind die Android-Java-Klassenbibliotheken und die Dalvik Virtual Machine, welche der Java Virtual Machine sehr ähnelt. Die DVM erzeugt aus Java-Klassen den sogenannten Dalvik-Bytecode. Anwendungen für Android werden ausschließlich mit Java geschrieben, nur in geschwindigkeitskritischen Bereichen greifen diese Anwendungen auf in C oder C++ geschriebene, native Bibliotheken zu. Mit der Version 2.2 von Android wurde erstmals ein Just-In-Time-Compiler implementiert, wodurch die Bedienung und das Ausführen von Anwendungen viel schneller wurde, da die meisten Anwendungen in Java programmiert wurden. Bei der Entwicklung von Android wurde von Anfang an auf die Zukunftstechnologie, die Multi-Touchscreenbedienung, gesetzt. Ebenso wichtig war bzw. ist Multitasking gewichtet. Android-Entwickler können den vollen Sprachumfang von Java 5 mit Generics, Collections sowie umfangreiche Libraries zur Verwendung von GPS-Daten, Audio, Video etc. nutzen. Zusätzlich gibt es spezielle APIs zur Interaktion mit Google- Diensten. Die Oberfläche von Android wird mit XML deklariert. Abschließend sei noch gesagt, dass Android nach dem Marktforscherunternehmen Gartner spätestens im Jahr 2014 Marktführer, vor Symbian und ios, wird. 2.2 Der Vergleich Nachdem ich die drei Betriebssysteme vorgestellt habe, möchte ich nun ihre Stärken und Schwächen vergleichen. Bevor man die Betriebssysteme vergleicht, sollte man feststellen, dass es momentan nicht das perfekte Betriebssystem gibt. Das liegt daran, dass jeder andere Anforderungen an ein solches Betriebssystem bzw. an das daran gekoppelte Smartphone hat. Dabei unterscheidet man meist zwischen dem geschäftlichen und dem privaten Bereich. 7

9 Bei meiner Arbeit möchte ich jedoch etwas anders an den Vergleich gehen. Mein Hauptaugenmerk liegt auf den Punkten Programmierung von Applikationen und der zukünftig Entwicklung der Betriebssysteme. Zunächst möchte ich darauf eingehen, wie momentan die Entwicklung der Betriebssysteme vonstattengeht. Auf der einen Seite hat man Symbian und Android, welche von Kooperationen von verschiedenen Firmen entwickelt werden und zusätzlich ihren Code größtenteils quelloffen zur Verfügung stellt. Bei Android ist es die Open Handset Alliance, welche momentan wächst, da immer mehr Firmen bei ihren Endprodukten auf Android setzen. Bei Symbian handelt es sich um die Symbian Abbildung 4 Weltmarktentwicklung der Smartphone- Betriebssysteme Foundation, welche jedoch kleiner wird. Große Firmen wie Samsung und Sony Ericsson sind dieses Jahr ausgestiegen und wollen in Zukunft auf Android setzen. Auf der anderen Seite hat man Apples ios, welches nur von Apple weiterentwickelt wird. Zusätzlich ist der Code von ios nicht quelloffen, wodurch die Anzahl der Entwickler, welche an ios arbeiten deutlich überschaubarer ist. Da der Smartphone- Markt ein sich schnell ändernder Markt ist, liegen besonders dort die Vorteile bei Android und Symbian, da man schnell auf Trends und Innovationen reagieren kann. Symbian liegt dabei jedoch sehr weit hinter Android, da Symbian erst mit Symbian^3 quelloffen geworden ist. Zusätzlich ist Symbian nicht auf Touchscreenbedienung, sondern auf die alte Generation von Handys ausgelegt. Dadurch liegt Symbian^3 im direkten Vergleich nicht nur hinter Android, sondern auch hinter ios. Es sei auch gesagt, dass Apple zwar nur die besten Leute einstellt, jedoch mit Google in Verbindung mit der Open Handset Alliance nun einen Konkurrenten bekommen hat, den es so vorher nicht gegeben hat. Aus diesen Gründen liegt in diesem Bereich Android klar an erster Position. Ein weiterer Vorteil von Android ist ganz klar die große Endgerätauswahl. Egal in welchen Bereichen sie ein Smartphone suchen, sie werden immer eines finden, welches ihren Vorstellungen entspricht. Symbian hat zwar auch eine große Anzahl an Endgeräten, jedoch wird es in Zukunft nicht mehr so viele neue Symbian Smartphones geben. Es steigen einfach zu viele Endgeräthersteller aus und wechseln zu Android. Für ios hat der Verbraucher nur die Wahl zwischen den verschiedenen Modellen des iphone bzw. ipad etc. Somit hat ios in dieser Hinsicht absolut keine Chance um gegen Android zu bestehen, da ein einziges Smartphone 8

10 für den Massenmarkt keine Chance gegen Dutzende auf viele Kundengruppen spezialisierte Geräte hat. Abbildung 5 - Endgeräte Ein gut organisiertes und umfangreiches Angebot an Zusatzanwendungen in einem Store, für das gewählte Betriebssystem ist natürlich von Vorteil. So kann man sein Smartphone noch besser an seine Vorstellungen anpassen und erweitern. Für einen Entwickler von Applikationen ist dies wichtig, da man über den Store seine Applikationen am besten verbreiten bzw. verkaufen kann. Hierbei zeigt Symbian, wie man es nicht machen sollte. Es gibt keinen eigenen Store, die Anwendungen müssen entweder bei den Herstellern der Smartphones oder im Internet gesucht werden. Die Stores von Android und ios hingegen sind beide sehr umfangreich und gut organisiert. Man kann auch hier einen kleinen Vorteil bei Android aufgrund der Quelloffenheit sehen. Deswegen gibt es viel mehr Entwickler, die Anwendungen für Android schreiben und in den Stores kostenlos oder kostenpflichtig bereitstellen. Dadurch wird im Laufe der Zeit der Android Market von Google den AppStore von Apple überholen. Apple muss jedoch einen Kritikpunkt, wie oben im Überblick schon erwähnt, hinnehmen. Damit eine Anwendung für den Store freigeschaltet wird, muss sie durch Apple zertifiziert werden. Die Kriterien dafür sind jedoch nicht öffentlich. Anwendungen, welche Alternativen zu den von Apple entwickelten Anwendungen sind, werden wohl aus reinem Geschäftsinteresse meist nicht freigegeben. Während Apple die Zertifikate zur Kontrolle der Auslieferung über den App Store verwendet, dienen sie bei Google nur dazu, um sicherzustellen, dass alle Updates der Anwendung vom selber Entwickler stammen. Man braucht jedoch einen Google- Account, damit man den Android Market nutzen kann, was bei einigen Kunden, auf Grund der Datensammlung von Google, bedenken auslöst. Trotzdem wird auf kurz oder lang Android in diesem Bereich das beste Angebot anbieten. Im Zeitraum von März 2010 bis Oktober 2010 ist die Anzahl von Anwendungen im AppStore um 68% und im Android Market um 233% gestiegen, was die Entwicklung deutlich unterlegt. 9

11 Abbildung 6 - Anzahl Applikationen in App Stores Nun möchte ich kurz auf die Möglichkeiten und Rahmenbedingungen für die Programmierung von Anwendungen für die einzelnen Betriebssysteme eingehen. Einzig für ios braucht man bestimmte Hardware - einen Apple-Rechner mit Mac OS X -, damit man die Entwicklungsumgebung zum Programmieren der Anwendungen installieren kann. Bei Symbian und Android spielt dies keine Rolle. Die Software, die man zur Entwicklung nötig ist, bekommt man für Android und Symbian kostenlos. Um für ios programmieren zu können muss man sich bei Apple als Entwickler registrieren und einen Jahresbeitrag von 99$ zahlen. In diesen beiden Punkten liegt der Vorteil deutlich bei Symbian und Android, da man mit wenig Aufwand direkt in die Programmierung einsteigen kann. Bei der Entwicklung von Anwendungen für ios wird Objective-C verwendet, zusätzlich kann C++ und JavaScript, als interpretierte Sprache, benutzt werden. Für Symbian wird ebenfalls in C++ entwickelt, jedoch mit der C++-Bibliothek Qt. Durch die Bibliothek von Qt werden viele Möglichkeiten von Desktopsystemen auch für mobile Geräte ermöglicht. Java wird für Android genutzt, dabei kann der Entwickler auf den kompletten Sprachumfang von Java 5 zurückgreifen. Hierbei hat jede Sprache für sich seine Vor- und Nachteile, somit kommt es auf den Entwickler selbst an für welche Programmiersprache er sich entscheidet. Einen Punkt sollte man hierbei jedoch noch ausarbeiten: Multitasking ist nicht mit allen drei Betriebssystemen gleich gut ausnutzbar. Multitasking war bis Version 4.0 den von Apple entwickelten Anwendungen vorbehalten, da nur die Entwickler von Apple Multitasking nutzen durften. Aber auch mit Version 4.0 ist Multitasking bei ios noch nicht ausgereift. Dies liegt größtenteils daran, dass die alten Anwendungen für Multitasking umgeschrieben werden müssen und dies nicht bei allen alten Anwendungen von den Entwicklern gemacht werden wird. Das nun eingesetzte Multitasking ist jedoch nicht mit dem von Android vergleichbar. Mehr als das Beenden von wichtigen VoIP, Audioplayback und die Lokalisierung erlaubt Apple als Hintergrundaktivitäten nicht. 10

12 Mit der nun folgenden Tabelle möchte ich einen kurzen Überblick über die zentralsten Punkte geben, um dann ein Resümee zu ziehen. Android ios Symbian Programmiersprache Java Objective C C++ Quelloffenheit Offen Closed Teilweise Offen Zukunftsaussichten Sehr gut Sehr gut Schlecht Entwickelt von: Open Handset Alliance Apple Symbian Foundation Ausgelegt auf: Multi-Touch-Screen Multi-Touch-Screen Tastatur Endgerätauswahl Groß(+wachsend) Sehr gering Groß(-sinkend) App Store Gut sortiert und stetig wachsend Gut sortiert und stetig wachsend, jedoch nicht so schnell wie Android Kein allgemeiner Store für Symbian, jede Firma hat seinen eigenen Store Marktentwicklung Kosten für Entwicklung Sehr positiv Positiv Negativ - 99$/Jahr - Abbildung 7 - Überblick der Betriebssysteme Letztendlich denke ich, dass, wenn man alles zusammennimmt, sich Android in den nächsten Jahren als Marktführer durchsetzen wird. Google und die Open Handset Alliance sind sehr innovativ und haben auch durch die dominante Stellung von Google im Internet Vorteile gegenüber Apple. Hinzu kommt zum einen die große Geräteauswahl, sodass jeder Smartphonebenutzer ein Smartphone, was seinen Ansprüchen und Wünschen entspricht, findet und zum anderen die Quelloffenheit, wodurch man sich schnell an den sich verändernden Markt anpassen kann. ios wird trotz geringerem Geräteangebot und des nicht offenem Codes weiterhin eine große Rolle auf dem Markt für Betriebssysteme für Smartphones einnehmen. Symbian wird sich leider auf Dauer gar nicht mehr durchsetzen, weswegen bei Nokia sehr bald MeeGo im Fokus sein wird. Es wird einfach nicht möglich sein das alte System an die neue Generation von Endgeräten anzupassen und so ist der Neustart ein Schritt in die richtige Richtung. 11

13 2.2 Warum Android? Nachdem ich nun Android, ios und Symbian vorgestellt und verglichen habe, möchte ich nun erklären, warum ich mich dafür entschied, Anwendungen für Android zu programmieren. Als erstes möchte ich schreiben, warum ich Android den Vorzug vor ios gegeben habe. Zunächst ist der Einstieg für einen Neuanfänger der Applikationen- Programmierung nicht einfach, da ios keine Open Source ist und man sich erst mal bei Apple als Entwickler registrieren muss. Dazu muss man einen Jahresbeitrag an Apple zahlen um für ios zu entwickeln. Bevor ich mit der Programmierung hätte anfangen können, hätte ich mir erstmal die für mich neue Programmiersprache Objective-C aneignen müssen. Die Verkaufszahlen der Endgeräte steigen im Gegensatz zu Android-Handies nicht so rapide an. Nun zu Android: Man kann sagen, dass der Einstieg in die Programmierung sehr einfach ist, da man nur das Android SDK mit Plug-In für Eclipse und Konsolenprogramm adb(emulator) zur Kommunikation mit den Geräten installieren muss. Diese bekommt man kostenlos zum Download bei Durch den Emulator kann man seine selbstgeschriebenen Anwendungen sehr leicht testen und braucht kein eigenes Endgerät. Die Quelloffenheit von Android kommt dem Entwickler sehr entgegen, da man dadurch bei Problemen sehr tief in Android hinein debuggen kann. Zusätzlich gibt es eine sehr umfangreiche Hilfe im Netz, dort findet man auch unzählige Code-Beispiele und die APIs sind sauber dokumentiert. Die Architektur von Android ist viel zukunftsorientierter, da diese ermöglicht, Systemfunktionen sehr leicht zu erweitern oder Dienste für andere Anwendungen anzubieten. Darauf möchte ich jedoch erst im nächsten Kapitel genauer eingehen. Android ist das Betriebssystem der Zukunft, so wurde es von Anfang an entwickelt und so wird es weiterentwickelt. Die Anzahl von Applikationen im Android Markt steigt stetig an. Innerhalb eines halben Jahres ist die Anzahl um 233% gestiegen und es sieht momentan nicht so aus, als ob sich der Trend ändern wird. 12

14 3 Der Aufbau von Android Ich möchte in diesem Kapitel den Aufbau und die Architektur des Betriebssystems und von Anwendungen in Android erklären. Dabei möchte ich zunächst kurz auf das Schichtenmodell der Architektur eingehen, danach auf die Oberflächengestaltung und zuletzt wichtige Komponenten einer Anwendung vorstellen. 3.1 Architekturen Android basiert auf einem Vier-Schichtenmodell. Die Basis in der ersten Schicht bildet ein Linux-Kernel mit den Hardwaretreibern, welcher in Bezug auf Energieverbrauch und Speichermanagment optimiert worden ist. In der zweiten Schicht kommt die Android Runtime mit der Dalvik Virtual Machine und den Core Libraries dazu. In der gleichen Schicht befinden sich die Basis- Abbildung 8 - Übersicht Android-Architektur bibliotheken, auf die der Anwendungsrahmen von Android zugreifen kann. Die dritte Schicht bildet das Application Framework(Anwendungsrahmen). Sie stellt einige Systemklassen zur Verfügung, welche in Java geschrieben sind und den Zugriff auf Hardwarekomponenten aus der Anwendung heraus erlauben. Die oberste Schicht Applications ist die Ansicht für den Android-Anwender. In den folgenden Abschnitten möchte ich genauer auf einzelne Teile der Schichten eingehen, wobei zum Linux Kernel nichts weiter zu anzumerken ist, als dass, was bereits erwähnt worden ist Die Dalvik Virtual Machine Die Dalvik Virtual Machine(DVM) ist eine virtuelle Maschine für Android, welche speziell für die Erfordernisse von Android entwickelt worden ist. Sie basiert auf der Java Virtual Machine(JVM), führt jedoch Dateien im Dalvik Executable-Form (.dex) aus. Diese sind so beschaffen, dass sie möglichst wenig Speicher beanspruchen, da auf Smartphones nicht viel Speicher vorhanden ist. Weiter kommt sie gut mit schwachen Prozessoren zurecht und ist für Betriebssysteme ohne SWAP-Partition geeignet, was bei einem Smartphone bzw. Android so vorhanden ist. Da die DVM auf 13

15 Akku-betriebenen Geräten zum Einsatz kommt, wurde bei ihr ebenfalls der Strombedarf berücksichtig. Weil Android in Java geschrieben wird, muss der normale, vom Java-Compiler kompilierte, Byte-Code(.class) in das.dex-format umgewandelt werden, damit die DVM ihn ausführen kann. Das übernimmt der im Android SDK enthaltene Dalvik Cross-Assembler, kurz dx-tool. Dabei werden mehrere Class-Dateien zu einer Dex- Datei zusammengefasst, wodurch eine Optimierung bezüglich des Speicherbedarfs vorgenommen wird. Desweitern ist die DVM im Gegensatz zur klassischen JVM eine Registermaschine ist, die die in der Regel verfügbaren Register der neuen Prozessoren(z.B.: ARM- CPUs wie sie Smartphones haben) profitieren. Register sind schnell zugreifbare Speicherzellen in den Prozessoren. Dabei handelt es sich also um Mikroprozessoren mit Zwischenspeicher direkt im Prozessor. Seit Android 2.2 besitzt die DVM zudem einen JIT-Compiler ("Just In Time"). Ein Just-in-time-Compiler übersetzt zur Laufzeit und erst bei Bedarf den Bytecode direkt in Maschinen-Code. Das bietet gegenüber dem Interpreter einen Geschwindigkeitsvorteil. Abbildung 9 : Umwandlung von.java in.dex durch das dx-tool Die Basisbibliotheken Von den Basisbibliotheken werden die Kernfunktionalitäten von Android via C/C++- Bibliotheken bereitgestellt. Darin enthalten sind für Entwickler wichtige, fertige Methoden und Eigenschaften zur Entwicklung. Darunter fallen zum Beispiel Funktionen für Datenbanken (SQLite), den Browser (Webkit), Multimedia (Media Framework), Verschlüsselung, Grafik und den Touchscreen. An dieser Stelle fragt man sich natürlich, warum es sich bei den Basisbibliotheken um C/C++-Bibliotheken und nicht im Java-Bibliotheken handelt. Der Vorteil der C/C++-Bibliotheken ist, dass sie in geschwindigkeitskritischen Bereichen von Anwendungen schneller sind. Dabei handelt es sich zum Beispiel um CPU-intensive Signal- und Datenverarbeitung. 14

16 Eigentlich spricht nichts dagegen C/C++ für die komplette Programmierung von Android einzusetzen, jedoch möchte die Open Handset Alliance dies nicht, da dadurch eine deutliche höhere Komplexität der Programmierung entstehen würde Anwendungsrahmen (Application Framework) Über den Bibliotheken und der Android-Runtime liegt das Application Framework. Es ist komplett in Java geschrieben und beinhaltet folgende Komponenten: Activity Manager: verwaltet die Anwendungen(Activities) und deren Laufzeit Package Manager: protokolliert die heruntergeladenen und installierten Applikationen Windows Manager: lässt sich über eine Java-Api ansteuern und greift auf den Surface Manager(steuert den Zugriff und fügt 2D und 3D Grafik Ebenen von verschiedenen Anwendungen zu einem Bild zusammen) zu. Content Provider: zuständig für den Austausch und den Zugriff auf Daten anderer Applikationen/Anwendungen, zum Beispiel Kontakte Ressource Manager: Verwaltung von Ressourcen wie Grafiken, Strings, Layouts Location Manager: stellt geografische Informationen über den aktuellen Standort bereit Notification Manager: ermöglicht es Applikationen/Anwendungen Informationen in der Statusleiste anzuzeigen View System: Eingabefelder, Textboxen, Buttons usw. Telephony Manager: verwaltet die Dienste für Telefonie Später werde ich dieses Kapitel nochmal aufgreifen und etwas genauer auf verschiedene Punkte eingehen Anwendungsschicht (Applications) Unter diese Schicht fallen die einzelnen Apps, die Kontakte, das Telefon, der Kalender und so weiter. Hier findet die Interaktion zwischen Mensch und Maschine statt, sowie die Kommunikation zwischen den einzelnen Anwendungen. 3.2 Weitere Komponenten einer Anwendung Neben den im Folgenden beschriebenen Komponenten gehören auch Activities zu den Komponenten einer Anwendung. Bei Activities handelt es sich um die Layout organisierende Komponente, welche ebenfalls den Zugriff auf die in den Layouts enthaltenden Views steuert. Im Kapitel Oberflächengestaltung werde ich auch näher auf Activities eingehen. 15

17 3.2.1 Services Ein Service erledigt Hintergrundprozesse. Wenn man zum Beispiel Musik abspielen möchte, kann man die Bedienung des Players einer Activity überlassen und das Abspielen der Musik einen Service erledigen lassen. Einen Service kann man im Prozess der aufrufenden Komponente starten oder in einem eigenen Prozess. Bei dem Service, welcher im gleichen Prozess wie die Anwendung läuft, spricht man von einem Local Service. Den im eigenen Prozess laufenden Service nennt man Remote Service Die Klasse Context Die Klassen Activity(siehe 3.4.4) und Service(siehe 3.2.1) sind von der abstrakten Klasse android.content.context abgeleitet. Die Klasse Context repräsentiert den Anwendungskontext und stellt somit die Verbindung zwischen Anwendungen und dem System von Android her. Dadurch kann man zum Beispiel auf die Manager- Klassen des Anwendungsrahmens zugreifen. Somit erhält man Zugang auf die Hardware des Endgerätes. Zusätzlich kann der Anwendungskontext zum Beispiel noch auf folgende Systemkomponenten zugreifen: den Classloader das Dateisystem die Berechtigungen der Anwendungen die verfügbaren Datenbanken die anwendungseigenen Bibliotheken den Bildschirmhintergrund den Zugriff auf andere Komponenten der Anwendung Letztlich sei noch gesagt, dass, da die beiden Komponenten/Klassen Activity und Service von Context abgeleitet sind, der Anwendungs-kontext mittels this in diesen Klassen überall zur Verfügung(siehe 4.3) steht Content Provider Der Content Provider verwaltet Daten und abstrahiert die darunterliegende Persistenzschicht. Er wird über eine definierte Schnittstelle lose an Anwendungen gebunden. Er stellt über Berechtigungen einer Anwendungen oder mehreren Anwendungen untereinander Daten zur Verfügung. 16

18 3.2.4 Broadcast Receiver Der Broadcast Receiver ist für das Empfangen von Systemnachrichten zuständig. Dabei handelt es sich zum Beispiel um Nachrichten über Störungen der Netzwerkverbindung oder einen schwachen Akku. 3.3 Intents Das größte Einsatzgebiet von Intents ist es, dafür zu sorgen, dass eine Activity die Möglichkeit hat eine andere Activity starten kann. Intents sind ein Teil des Mechanismus zum Austausch von Nachrichten und Daten zwischen Komponenten einer Anwendung, verschiedener Anwendungen untereinander oder mit der Android- Plattform. Intents verbinden die Komponenten Activities, Services, Content Provider und Broadcast Receiver zu einem Gesamtsystem und schaffen eine Verbindung zur Android-Plattform. Surft man mit seinem Smartphone im Internet und stößt im Browser zum Beispiel auf ein YouTube Video, so öffnet sich nicht ein neues Browserfenster, sondern automatisch das YouTube Programm, welches bereits auf dem Android Smartphone installiert ist. Diese Interaktion wird durch Intents ermöglicht. Da Android komponentenbasiert ist, liegt es nahe diese Komponenten mit einem Mechanismus verbinden zu können. Intents werden unterteilt in explizite und implizite Intents Explizite Intents Ist die Empfängerkomponente bereits bei der Programmierung des Aufrufs bekannt und eindeutig identifiziert spricht man von einem expliziten Intent. Hierbei wird beim Aufrufen der Activity eine bekannte Klasse übergeben Implizite Intents Implizite Intents adressieren keinen bestimmten Empfänger und überlassen es den Komponenten der installierten Anwendungen, auf den Intent zu reagieren. Diese Intents werden praktisch ins Leere abgeschickt. Man hofft, dass es eine oder mehrere Komponenten gibt, die mit diesem Intent was anfangen können. Oft werden implizite Intents verwendet, wenn man Komponenten anderer Anwendungen nutzen möchte. Damit dies funktioniert, muss man eine Activity vorher erst mit der Möglichkeit versehen, implizite Intents zu empfangen. Diese Aufgabe übernimmt der Intent-Filter. 17

19 3.3.3 Intent-Filter Intent-Filter werden im Android-Manifest deklariert. Ein Intent-Filter besteht aus bis zu drei Elementen, mit deren Hilfe er genau festlegen kann, auf welche Intents er reagiert. Die drei Elemente sind: action(was soll passieren?), category(wie wird die Activity aufgerufen?), data(mit welchen Daten?). Der Intent-Filter leitet einen Intent an eine spezielle Activity weiter. Wenn eine Activity eine bestimmte Fähigkeit hat, zum Beispiel das Anzeigen von Webseiten, dann veröffentlicht sie einen Intent-Filter, der angibt, dass sie die Action View für den Datentyp URL ausführen kann. 3.4 Oberflächengestaltung In diesem Unterkapitel thematisiere ich, welche Komponenten zur Darstellung von Anwendungen gehören. Zusätzlich möchte ich dabei noch ein wenig Bezug auf Objective C nehmen und dies mit den Möglichkeiten von Android vergleichen Das Android-Manifest Das Android-Manifest ist das Kernstück der Oberflächengestaltung. Es organisiert und teilt der Android-Laufzeitumgebung mit, aus welchen Komponenten sich eine Anwendung zusammensetzt. Beim Android-Manifest handelt es sich um eine XML-Datei im Wurzelverzeichnis der Anwendung. Sie wird beim Anlegen eines neuen Projekts in Eclipse automatisch erzeugt. Wenn man ein neues Projekt in Eclipse anlegt, wird das Android-Manifest automatisch erzeugt. Dabei handelt es sich um eine XML-Datei im Wurzelverzeichnis der Anwendung und sieht standardmässig wie in Abbildung 10 aus. <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.android.testapp" (1) android:versioncode="1" android:versionname="1.0"> (2) <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".testapp" (3) android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher"/> </intent-filter> </activity> </application> </manifest> Abbildung 10 Das Android-Manifest 18

20 Folgende grundsätzliche Elemente werden im Android-Manifest verarbeitet : Festlegung des Package-Namens der Anwendung(1) Angabe der Versionsnummer der Anwendung(2) Auflistung aller Komponenten (Activities, Services, Content Provider, Broadcast Receiver) der Anwendung(3) Die minimale Android-API-Level wird festgelegt, unter dem die Anwendung lauffähig ist Berechtigungen auf Anwendungs- und Prozessebene werden vergeben Die Bibliotheken, welche die Anwendung verwendet, werden angegeben View Als View (=Darstellung) werden die klassischen Oberflächenelemente wie Eingabefelder, Schaltflächen und Auswahllisten bezeichnet. Jedes Element, was an der Oberfläche sichtbar ist, wird von der Klasse android.view.view abgeleitet. Für jede View gibt es eine XML- und eine Java-Repräsentation. Beide Repräsentationen haben im Wesentlichen die gleichen Attribute, nur dass man in der Java-Klasse die Attribute sieht, die speziell für diese View gelten. Elementare Views sind zum Beispiel : <TextView> - Einfache Textausgabe <Button>, - Schaltfläche <ImageButton> <EditText> - Formularelement zur Texteingabe <CheckBox> - Ankreuzfeld <Spinner> - Auswahlliste <DatePicker>, - Auswahl von Datum und Uhrzeit <TimePicker> Layout Die erwähnten Views werden mit Hilfe von Layouts (=Anordnung) auf dem Bildschirm geordnet. Es gibt verschiedene Layouts, die jeweils unterschiedliche Anordnungsvorschriften darstellen. Die Layouts bieten verschiedene Anordnungsvorschriften, unter anderem eine lineare Anordnung der View-Elemente (LinearLayout), eine tabellarische Anordnung (TableLayout) oder eine Anordnung relativ zueinander (RelativeLayout). Layouts werden als XML-Dateien angelegt in denen ebenfalls die verwendeten Views sind, die Layouts können zusätzlich ineinander geschachtelt werden. [siehe Abbildung 11] 19

21 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:stackfrombottom="true" android:transcriptmode="alwaysscroll" android:layout_weight="1" /> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" > <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_gravity="bottom" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" /> Abbildung 11 Layout XML Activity Die Android-Komponente Activity organisiert die Layouts und den Zugriff auf die darin enthaltenen Views. Zum Beispiel bei Oberflächenereignissen muss die Activity steuern, welches Layout als nächstes angezeigt wird. Eine Activity sollte aber nur zur Darstellung genau einer Bildschirmseite implementiert werden. Sie besitzt immer nur ein Layout, welches sie zur Anzeige auf dem Endgerät bringt. Darüber hinaus keine eine Activity in der Lage sein auf Datenquellen und die Hardware des Endgerätes zuzugreifen. Jede Activity hat einen Lebenszyklus nachdem sie gestartet worden ist. Für jeden Zustand in diesem Zyklus gibt es eine Methode in der Klasse Activity, welche auf Wunsch überschrieben werden kann. Es gibt sieben verschiedene Methoden in einem Zyklus. Ich möchte nun kurz auf den Ablauf [siehe Abbildung 12] und die einzelnen Methoden eingehen. 20

22 Abbildung 12 Lebenszyklus einer Activity Um eine Activity zu starten wird die oncreate() Methode aufgerufen. Sie initialisiert die Layouts, die Schaltflächen und das Menü. Danach werden die Methoden onstart() und onresume() aufgerufen. Erst dann ist die Activity vollständig sichtbar. Der Unterschied von onstart() und onresume() ist, dass onstart() aufgerufen wird, nachdem eine Activity neu erzeugt wurde oder wenn sie vorher nicht sichtbar war, aber nun wieder angezeigt werden soll. OnResume() wird aufgerufen, wenn eine teilweise verdeckte Activity wieder vollständig angezeigt werden soll. Bei Überlagerung von 2 Activities wird die Methode onpause() aufgerufen. In diesem Status bleibt sie so lange sie nur teilweise überlagert wird. Wenn sie vollständig von einer anderen Activity überlagert wird, dann wird die Methode onstop() ausgeführt. Wenn die Activity wieder aufgerufen werden soll und nur auf onpause() gestanden hat wird einfach die Methode onresume() aufgerufen und die Activity wird wieder komplett angezeigt. Falls die Activity im Status onstop() ist, werden die Methoden onrestart(), onstart() und onresume() in dieser Reihenfolge aufgerufen, bevor die Activity wieder sichtbar ist. Nur wenn man die Activity komplett beenden möchte, wird die ondestroy()-methode aufgerufen. Durch diesen Lebenszyklus realisiert Android performantes Multitasking. Komponenten werden so am Leben erhalten, nachdem sie ihre Aufgabe erledigt haben, sodass sie beim nächsten Aufruf dieser Komponente nicht komplett neu erzeugt werden muss. Dabei wird die Komponente nur vom inaktiven Zustand in den aktiven geändert. Dies gilt nicht nur für die Komponenten einer Anwendung, sondern grundsätzlich für das ganze Android-System. 21

23 4 Programmierung in Android 4.1 Warum Java? Aus folgenden Gründen ist Java, gegenüber dem Hauptkonkurrenten C++, obwohl aus geschwindigkeitsgründen in gewissen Bereichen die Basisbibliotheken aus C/C++ sind, am besten zur Programmierung für Android geeignet : Frühere Sun-Mitarbeiter und Java-Ingenieure entwickeln für Google Vorteil gegenüber C ist, dass Objektorientierung bei Java möglich ist Verbreitung : Java gibt es auf über 1,8 Milliarden mobilen Endgeräten 80% aller neuen verkauften Handys und PDAs basieren mit der Untermenge Java ME letztendlich auf Java Portabilität : Da bei Softwareentwicklung für Android viele Java SE- sowie Androidspezifischer Bibliotheken genutzt werden und dadurch eine relative Nähe zur Java SE-Programmierung vorhanden ist, erleichtert dies eine Wiederverwendung von existierendem Java Quellcode (besonders wenn es sich um keine Benutzerschnittstellenanwendung oder speziell für Mobilfunkgeräte entwickelte Anwendungen handelt) Sicherheit : Es gibt ein extra API bei Java für Sicherheit (Authentifizierung, Überprüfung von Signaturen, Vergabe von Rechten) Akzeptanz : Java hat eine große Community und ist weltweit ähnlich anerkannt wie C Robustheit : Die VM wacht darüber, dass ein Absturz eines Programms keine anderen Anwendungen stört Integrität von Bytecode ist sichergestellt, da vorher ein Prüfsummenverfahren angewandt wurde, somit werden unbemerkte Veränderungen durch Viren o.ä. verhindert Garbage Collector : Java hat im Gegensatz zu C++ einen Garbage Collector, wodurch bei Java keine Datenlecks auftreten 22

24 4.2 Android Development Tools (ADT) Android bringt eine Reihe von Werkzeugen (Tools) mit, welche die Entwicklung vereinfachen können und sollen. In diesem Kapitel möchte ich ein paar von diesen Tools kurz vorstellen ADT-Plugin Durch dieses Plugin wird das Android SDK mit der Eclipse IDE verkuppelt, sodass man Android-Programme in der für viele gewohnten Eclipse-Entwicklungsumgebung bearbeiten und weiterentwickeln kann. Das ADT-Plugin erweitert die Möglichkeiten von Eclipse um schnell und einfach neue Android Projekte zu erstellen und fügt Komponenten, die auf das Android Framework API aufbauen, hinzu. Abbildung 13 Installation ADT-Plugin Um das Plugin zu installieren muss man es einfach über den Update Manager von Eclipse herunterladen. Nach der Installation muss in Eclipse nur noch unter Window > Preferences > Android eingegeben werden, wo sich die vorher heruntergeladene und installierte Android SDK auf dem Entwicklungsrechner befindet. 23

25 4.2.2 Android Emulator Der Android Emulator emuliert ein Android-Endgerät auf dem Entwicklungscomputer. Durch diesen ist es möglich, entwickelte Android-Programme auszuführen, zu testen bzw. zu debuggen, ohne, dass man auf Android-Hardware zurückgreifen muss. Dieser zeichnet sich durch folgende Eigenschaften aus : Emulation einer ARM CPU in der Version ARMv5 Ansteuerung eines 16-Bit Displays Ansteuerung der Audio-Hardware Ansprechen von Flash Speicher-Partitionen Simulation eines Mobilfunknetzes Simulation einer SIM-Karte Android Debug Bridge (adb) Mit der adb lassen sich sowohl der Emulator als auch das Android-Endgeräte direkt von der Konsole aus ansteuern. Dadurch lassen sich zum Beispiel Dateien zwischen dem Emulator oder dem Endgerät und dem Entwicklungscomputer hin und her kopieren. Ebenso ist es möglich Programme auf ein spezifisches Endgerät bzw. Emulator installieren sqlite3 Bei SQLite handelt es sich um ein kompaktes, für den Einsatz in mobilen Plattformen optimiertes, quelloffenes, relationales Datenbanksystem. Durch sqlite3 wird der Zugriff auf SQLite-Daten ermöglicht. Das sqlite3-tool enthält zusätzlich Kommandos, wie zum Beispiel.dump um Inhalt aus einem Datenbanktable auszugeben oder auch.schema um das SQL CREATE Statement für ein vorhandenes table anzuzeigen dx-tool Das dx-tool konvertiert für die Dalvik Virtual Machine Java-Bytecode(.class) in Android-Bytecode(.dex). 24

26 4.3 Einstiegsbeispiel für Android Hello Seminar Ich möchte nun mit einem kleinen und einfachen Beispiel den typischen Ablauf vom erstellen eines neuen Projekts bis zur ersten kleinen Applikation zeigen. Nachdem man Eclipse mit dem ADT Plugin verzahnt hat, kann man ganz einfach ein neues Android-Projekt anlegen. Man wählt in der Menüleiste von Eclipse einfach File New Project aus, daraufhin erhält man folgendes Fenster : Abbildung 14 Neues Projekt anlegen (1) Wie auf dem Bild zu sehen ist, wählt man dort einfach Android Project aus und klickt auf Next. Als nächstes erscheint das Fenster in dem die Projektdetails eingegeben werden müssen. Als erstes muss in diesem Fenster der Project Name eingegeben werden, bei diesem handelt es sich um den Eclipse Projektnamen der Applikation. In dem Verzeichnis werden die gesamten Projektdateien angelegt. In der Liste unter Build Target wird festgelegt, für welche Android-Version die Applikation programmiert werden wird. Der Application Name ist der Titel, welchen man, nachdem die Applikation auf einem Endgerät oder Emulator laufen lässt, sieht. Im Feld Package Name wird ein im Android-System einzigartiger Name für das Package in dem der Quellcode angelegt wird festgelegt. In diesem Package wird die Wurzel-Activity angelegt. Der Name dieser Activity wird in dem Feld Create Activity festgelegt. Als letztes muss noch 25

27 festgelegt werden, welches API Level die Applikation braucht. Dies geschieht im Feld Min SDK Version. Abbildung 15 Neues Projekt anlegen (2) Nachdem alle Eingaben korrekt eingegeben worden sind, klickt man auf Finish, woraufhin das angelegt Projekt im Eclipse Explorer erscheint. Im Projekt ist dadurch die Datei HelloSeminar.java erstellt worden. Diese sollte Standardmässig wie folgt aussehen : package com.example.helloandroid; import android.app.activity; import android.os.bundle; public class HelloAndroid extends Activity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); } } Abbildung 16 Standard Java-Datei 26

28 Mit der Applikation möchten wir, dass ein einfacher Satz durch das Endgerät bzw. den Emulator angezeigt wird. Nach kleinen Modifikationen sieht der Quellcode nun so aus : package com.android.helloseminar; import android.app.activity; import android.os.bundle; import android.widget.textview; public class HelloSeminar extends Activity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); TextView tv = new TextView(this); (1) tv.settext("hello, Seminar"); (2) setcontentview(tv); (3) } } Abbildung 17 Hello Seminar Zunächst sieht man, dass ein TextView erstellt worden ist (1), welcher eine Android Context Instanz als Parameter akzeptiert. Das ist möglich, weil die Klasse Activity von der abstrakten Klasse Context erbt und die Klasse HelloSeminar eine Unterklasse von Activity ist, wodurch HelloSeminar ebenfalls ein Context ist. Daraufhin wird mit settext( ) der Textinhalt des TextView definiert (2). Die Methode setcontentview() wird aufgerufen, damit der Text im Interface der Activity dargestellt wird (3). Wenn diese Methode nicht aufgerufen werden würde, wäre kein Interface vorhanden, sodass ein leerer Bildschirm angezeigt werden würde. Damit die Applikation ausführbar bzw. zu testen ist, muss ein Android Virtual Device(AVD) also ein Emulator erstellt werden. Um dies zu machen gibt es den Android SDK und AVD Manager(siehe Abbildung 18). Abbildung 18 Android SDK und AVD Manager 27

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

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

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG it4sport GmbH HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG Stand 10.07.2014 Version 2.0 1. INHALTSVERZEICHNIS 2. Abbildungsverzeichnis... 3 3. Dokumentenumfang... 4 4. Dokumente anzeigen... 5 4.1 Dokumente

Mehr

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.

Mehr

Dokumentation Schedulingverfahren

Dokumentation Schedulingverfahren Dokumentation Schedulingverfahren von Norbert Galuschek Gordian Maugg Alexander Hahn Rebekka Weissinger June 23, 2011 1 Contents 1 Aufgabe 3 2 Vorgehensweise 4 2.1 Warum Android.......................

Mehr

Jederzeit Ordnung halten

Jederzeit Ordnung halten Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das

Mehr

iphone- und ipad-praxis: Kalender optimal synchronisieren

iphone- und ipad-praxis: Kalender optimal synchronisieren 42 iphone- und ipad-praxis: Kalender optimal synchronisieren Die Synchronisierung von ios mit anderen Kalendern ist eine elementare Funktion. Die Standard-App bildet eine gute Basis, für eine optimale

Mehr

zwanzignull8 DIE MODULARE VERTRIEBS SOFTWARE im Einsatz für die Sto SE & Co KGaA info@1a-p.com www.1a-p.com +49 (0) 7728 645 0

zwanzignull8 DIE MODULARE VERTRIEBS SOFTWARE im Einsatz für die Sto SE & Co KGaA info@1a-p.com www.1a-p.com +49 (0) 7728 645 0 DIE MODULARE VERTRIEBS SOFTWARE im Einsatz für die Sto SE & Co KGaA info@1a-p.com www.1a-p.com +49 (0) 7728 645 0 ZWANZIGNULL8 AM PULS DER ZEIT Die Präsentationssoftware zwanzignull8 erfreut sich zunehmender

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Ein mobiler Electronic Program Guide

Ein mobiler Electronic Program Guide Whitepaper Telekommunikation Ein mobiler Electronic Program Guide Ein iphone Prototyp auf Basis von Web-Technologien 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller

Mehr

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine PhotoLine S/W mit PhotoLine Erstellt mit Version 16.11 Ich liebe Schwarzweiß-Bilder und schaue mir neidisch die Meisterwerke an, die andere Fotografen zustande bringen. Schon lange versuche ich, auch so

Mehr

Präsentation Von Laura Baake und Janina Schwemer

Präsentation Von Laura Baake und Janina Schwemer Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

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

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014. inkl. zusätzlichem Übungsanhang K-W81-G-UA

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014. inkl. zusätzlichem Übungsanhang K-W81-G-UA Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014 Windows 8.1 Grundkurs kompakt inkl. zusätzlichem Übungsanhang K-W81-G-UA 1.3 Der Startbildschirm Der erste Blick auf den Startbildschirm (Startseite) Nach

Mehr

Windows 10 > Fragen über Fragen

Windows 10 > Fragen über Fragen www.computeria-olten.ch Monatstreff für Menschen ab 50 Merkblatt 103 Windows 10 > Fragen über Fragen Was ist das? Muss ich dieses Upgrade machen? Was bringt mir das neue Programm? Wie / wann muss ich es

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

Walkabout: Location Based Services mit Android und dem Google Phone

Walkabout: Location Based Services mit Android und dem Google Phone Walkabout: Location Based Services mit Android und dem Google Phone Teilbereich 1: Die Android Plattform für mobile Geräte (Software) Von: Sebastian Schul Inhalt Einleitung Was ist Android Exkurs: Wie

Mehr

1. Einleitung. 1.1. Was ist die App Listini. 1.2. Was benötigen Sie dazu. 1.3. Wie gehen Sie vor

1. Einleitung. 1.1. Was ist die App Listini. 1.2. Was benötigen Sie dazu. 1.3. Wie gehen Sie vor 1. Einleitung 1.1. Was ist die App Listini Die App Listini ist eine Anwendung für Ihr ipad oder Ihr Android-Gerät, welche Ihnen das Lesen und das Nachschlagen in Preislisten, Katalogen sowie der Fotogalerie

Mehr

Flash Videos einbinden

Flash Videos einbinden Flash Videos einbinden Im Kapitel Videos einbinden ( - ) haben Sie gesehen, wie man einfach und ohne Zusatzprogramme kleine Videoclips auf seiner einbinden kann. Ich persönlich würde jedem dieses Verfahren

Mehr

Windows 8. Grundlagen. Markus Krimm. 2. Ausgabe, November 2012

Windows 8. Grundlagen. Markus Krimm. 2. Ausgabe, November 2012 Windows 8 Markus Krimm 2. Ausgabe, November 2012 Grundlagen W8 Mit Windows beginnen 1 Der erste Blick auf den Startbildschirm Nach dem Einschalten des Computers und der erfolgreichen Anmeldung ist der

Mehr

Toolbeschreibung: EVERNOTE

Toolbeschreibung: EVERNOTE Toolbeschreibung: EVERNOTE Evernote ist ein Programm, um Notizen zu sammeln. Man kann es sowohl online nutzen, als auch offline von seinem PC (dafür muss man sich das Programm runterladen). Die ersten

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

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003 Nicht kopieren Der neue Report von: Stefan Ploberger 1. Ausgabe 2003 Herausgeber: Verlag Ploberger & Partner 2003 by: Stefan Ploberger Verlag Ploberger & Partner, Postfach 11 46, D-82065 Baierbrunn Tel.

Mehr

GITS Steckbriefe 1.9 - Tutorial

GITS Steckbriefe 1.9 - Tutorial Allgemeines Die Steckbriefkomponente basiert auf der CONTACTS XTD Komponente von Kurt Banfi, welche erheblich modifiziert bzw. angepasst wurde. Zuerst war nur eine kleine Änderung der Komponente für ein

Mehr

Logics App-Designer V3.1 Schnellstart

Logics App-Designer V3.1 Schnellstart Logics App-Designer V3.1 Schnellstart Stand 2012-09-07 Logics Software GmbH Tel: +49/89/552404-0 Schwanthalerstraße 9 http://www.logics.de/apps D-80336 München mailto:apps@logics.de Inhalt Ihr Logics Zugang...

Mehr

Mozilla Firefox - Zeit für den Wechsel

Mozilla Firefox - Zeit für den Wechsel Browser Alternative: Mozilla Firefox 2.0 Mozilla Firefox - Zeit für den Wechsel Klaus Herzberg-Moser / November,Dezember 2007 1. Webseite in Tabs öffnen Seite 2 2. Sitzungswiederherstellung Seite 3 3.

Mehr

Responsive Webdesign. Schritt für Schritt zum Design für jedes Endgerät

Responsive Webdesign. Schritt für Schritt zum Design für jedes Endgerät Responsive Webdesign Schritt für Schritt zum Design für jedes Endgerät Was ist responsive Design? Ganz kurz: Responsive Webdesign beschreibt eine technische und gestalterische Methode, Inhalte Ihrer Webseite

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

1. Laptop: Benutzen Sie die Anleitung ab Seite 2 2. Tablet / Smartphone: Benutzen Sie die Anleitung ab Seite 4. Seite 2 Seite 4

1. Laptop: Benutzen Sie die Anleitung ab Seite 2 2. Tablet / Smartphone: Benutzen Sie die Anleitung ab Seite 4. Seite 2 Seite 4 Kanton Schaffhausen Schulentwicklung und Aufsicht Herrenacker 3 CH-8200 Schaffhausen www.sh.ch Anleitung Installation Offline-Version Lehrplan 21 Für die Arbeit mit dem Lehrplan während der Tagung vom

Mehr

Terminabgleich mit Mobiltelefonen

Terminabgleich mit Mobiltelefonen Terminabgleich mit Mobiltelefonen Sie können Termine- und Aufgaben aus unserem Kalender, sowie die Adressdaten aus dem Hauptprogramm mit Ihrem Mobiltelefon abgleichen. MS Outlook dient dabei als Schnittstelle

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Anleitung. Lesezugriff auf die App CHARLY Termine unter Android Stand: 18.10.2013

Anleitung. Lesezugriff auf die App CHARLY Termine unter Android Stand: 18.10.2013 Anleitung Lesezugriff auf die App CHARLY Termine unter Android Stand: 18.10.2013 CHARLY Termine unter Android - Seite 2 Inhalt Inhalt Einleitung & Voraussetzungen 3 1. Installation und Konfiguration 4

Mehr

Nokia Handy - Daten sichern.

Nokia Handy - Daten sichern. Nokia Handy - Daten sichern. Inhaltsvereichnis Was brauche ich dazu:... 2 Nokia PC Suite.... 2 Genauer kann man allerdings so sichern!!!!!!... 6 Bluetooth Verbindung... 6 Sichern... 7 Dateimanager... 8

Mehr

Synchronisations- Assistent

Synchronisations- Assistent TimePunch Synchronisations- Assistent Benutzerhandbuch Gerhard Stephan Softwareentwicklung -und Vertrieb 25.08.2011 Dokumenten Information: Dokumenten-Name Benutzerhandbuch, Synchronisations-Assistent

Mehr

KeePass Anleitung. 1.0Allgemeine Informationen zu Keepass. KeePass unter Windows7

KeePass Anleitung. 1.0Allgemeine Informationen zu Keepass. KeePass unter Windows7 KeePass Anleitung 1.0Allgemeine Informationen zu Keepass KeePass unter Windows7 2.0 Installation unter Windows7 2.1 Erstellen einer neuen Datenbank 2.2 Speichern von Benutzernamen und Passwörtern 2.3 Sprache

Mehr

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Version 1.0 Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten In unserer Anleitung zeigen wir Dir, wie Du Blogbeiträge

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

Outlook Web App 2013 designed by HP Engineering - powered by Swisscom

Outlook Web App 2013 designed by HP Engineering - powered by Swisscom Outlook Web App 2013 designed by HP Engineering - powered by Swisscom Dezember 2014 Inhalt 1. Einstieg Outlook Web App... 3 2. Mails, Kalender, Kontakten und Aufgaben... 5 3. Ihre persönlichen Daten...

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

Mehr

14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt

14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt 14.4.2016 Technische Hochschule Georg Agricola WORKSHOP TEIL 3 IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt Inhaltsverzeichnis 1. Kurzfassung zur Projekterstellung... 2 2. Morse-Tabelle...

Mehr

NOXON Connect Bedienungsanleitung Manual

NOXON Connect Bedienungsanleitung Manual Software NOXON Connect Bedienungsanleitung Manual Version 1.0-03/2011 1 NOXON Connect 2 Inhalt Einführung... 4 Die Installation... 5 Der erste Start.... 7 Account anlegen...7 Hinzufügen eines Gerätes...8

Mehr

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr

Mehr

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005 Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.

Mehr

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1): Supportanfrage ESN Bitte füllen Sie zu jeder Supportanfrage diese Vorlage aus. Sie helfen uns damit, Ihre Anfrage kompetent und schnell beantworten zu können. Verwenden Sie für jedes einzelne Thema jeweils

Mehr

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Wie erzeugt man ein Fotobuch im Internet bei Schlecker Seite Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Punkt 12 bis 24: -Wir arbeiten mit der Software 8-16 -Erstellung

Mehr

Verwenden von OnlineUebungen.ch nichts einfacher als das!

Verwenden von OnlineUebungen.ch nichts einfacher als das! Verwenden von OnlineUebungen.ch nichts einfacher als das! Diese Kurzanleitung soll Ihnen einen Schnell-Überblick über den SchulArena-Übungsgenerator www.onlineuebungen.ch verschaffen. 1. Anmeldung als

Mehr

MetaQuotes Empfehlungen zum Gebrauch von

MetaQuotes Empfehlungen zum Gebrauch von MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS Auch wenn viele kommerzielle Angebote im Internet existieren, so hat sich MetaQuotes, der Entwickler von MetaTrader 4, dazu entschieden

Mehr

Die derzeit bekanntesten Alternativen zum Browser von Microsoft sind Mozilla Firefox, Google Chrom und Opera.

Die derzeit bekanntesten Alternativen zum Browser von Microsoft sind Mozilla Firefox, Google Chrom und Opera. Webbrowser Webbrowser stellen die Benutzeroberfläche für Webanwendungen dar. Webbrowser oder allgemein auch Browser (engl. to browse heißt stöbern, schmökern, umsehen) sind spezielle Computerprogramme

Mehr

QTTabBar Einrichtung, ein Tutorial

QTTabBar Einrichtung, ein Tutorial QTTabBar Einrichtung, ein Tutorial Von Heiko Schulze Eines der ganz entscheidenden Dinge, das im Explorer fehlt ist das tabunterstützte Navigieren. Dafür gibt es bereits seit Jahren die QTTabBar. Sie wurde

Mehr

Erste Schritte mit Microsoft Office 365 von Swisscom

Erste Schritte mit Microsoft Office 365 von Swisscom Inhaltsverzeichnis 1 Wichtigstes in Kürze... 2 2 Erstanmeldung bei Microsoft Office 365... 2 2.1 Basiskonfiguration... 4 2.2 Navigation in Office 365... 5 3 Nutzung von Microsoft Office 365... 6 3.1 Schreiben

Mehr

BILDER TEILEN MIT DROPBOX

BILDER TEILEN MIT DROPBOX Bilder teilen mit Dropbox für registrierte User Mit Dropbox schiebt man Daten in einen virtuellen Ordner im Internet, auf den Freunde von jedem PC aus zugreifen können. 1. Bilder anschauen Beschreibung

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

LED WIFI Controller - Bedienungsanleitung

LED WIFI Controller - Bedienungsanleitung LED WIFI Controller - Bedienungsanleitung Inhaltsverzeichnis 1. Übersicht...1 2. Software/Technische Daten...2 3. Software für Android...2 3.01 Installationsanleitung...2 3.02 WiFi Verbindungseinstellungen...3

Mehr

DOKUMENTATION VOGELZUCHT 2015 PLUS

DOKUMENTATION VOGELZUCHT 2015 PLUS DOKUMENTATION VOGELZUCHT 2015 PLUS Vogelzucht2015 App für Geräte mit Android Betriebssystemen Läuft nur in Zusammenhang mit einer Vollversion vogelzucht2015 auf einem PC. Zusammenfassung: a. Mit der APP

Mehr

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version 1.0.0 03.02.2016 - 1 -

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version 1.0.0 03.02.2016 - 1 - Matrix42 Matrix42 Cloud Trial Erste Schritte Version 1.0.0 03.02.2016-1 - Inhaltsverzeichnis 1Einleitung 3 2Cloud Trial Steuerung 4 2.1 Starten der Cloud-Umgebung 4 2.2 Bedienen der Maschinen in der Cloud

Mehr

Password Depot für ios

Password Depot für ios Password Depot für ios Inhaltsverzeichnis Erste Schritte... 1 Kennwörterdatei erstellen... 1 Neue Einträge erstellen... 3 Einträge / Gruppen hinzufügen... 3 Einträge / Gruppen kopieren oder verschieben...

Mehr

Tipps und Tricks zu den Updates

Tipps und Tricks zu den Updates Tipps und Tricks zu den Updates Grundsätzlich können Sie Updates immer auf 2 Wegen herunterladen, zum einen direkt über unsere Internetseite, zum anderen aus unserer email zu einem aktuellen Update. Wenn

Mehr

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen. Bildergalerie einfügen Wenn Sie eine Vielzahl an Bildern zu einem Thema auf Ihre Homepage stellen möchten, steht Ihnen bei Schmetterling Quadra das Modul Bildergalerie zur Verfügung. Ihre Kunden können

Mehr

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

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

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Inhalt 1. Einleitung:... 2 2. Igel ThinClient Linux OS und Zugriff aus dem LAN... 3

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

eridea AG Installation Eclipse V 1.4

eridea AG Installation Eclipse V 1.4 Installation Eclipse Inhaltsverzeichnis Einleitung... 2 Voraussetzungen für die Eclipsenutzung... 2 SAP GUI aktualisieren... 2 Java aktualisieren... 3 VC++ aktualisieren... 3 Eclipse installieren... 5

Mehr

Dokumentation. Mindestanforderungen: Das Board

Dokumentation. Mindestanforderungen: Das Board Dokumentation Mindestanforderungen: 1. Einen Computer (Mac oder Pc) oder flash-unterstutztes System 2. Flash Player oder Browser mit Flash PlugIn 3. Das Board 4. Tondateien zum Abspielen Je mehr Tondateien

Mehr

Programme im Griff Was bringt Ihnen dieses Kapitel?

Programme im Griff Was bringt Ihnen dieses Kapitel? 3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich

Mehr

CodeSaver. Vorwort. Seite 1 von 6

CodeSaver. Vorwort. Seite 1 von 6 CodeSaver Vorwort Die Flut der Passwörter nimmt immer mehr zu. Kontopasswörter, Passwörter für Homepages, Shellzugriffe, Registrierungscodes für Programme und und und. Da ich aber nicht sonderlich viel

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Domino Feldplaner 3.3

Domino Feldplaner 3.3 Domino Feldplaner 3.3 Handbuch - 2 - Inhaltsverzeichnis 1. Vorbemerkung (Seite 3) 2. Systemvoraussetzungen (Seite 3) 3. Der erste Start des Feldplaners (Seite 3) 4. Funktionen des Feldplaners (Seite 4)

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Alltag mit dem Android Smartphone

Alltag mit dem Android Smartphone 2 Alltag mit dem Android Smartphone 5. Viele Nutzer von Google-Konten nutzen diese zwar für Mail und Kalender, aber noch nicht für Google+. Bei der Einrichtung auf dem Smartphone erscheint jetzt eine Frage,

Mehr

TELIS FINANZ Login App

TELIS FINANZ Login App Installation & Bedienung der TELIS FINANZ Login App 1. Voraussetzungen - Android Version 4.0 oder höher - Uhrzeit automatisch gestellt - Für die Einrichtung wird einmalig eine Internetverbindung benötigt

Mehr

Revit Modelle in der Cloud: Autodesk 360 Mobile

Revit Modelle in der Cloud: Autodesk 360 Mobile Revit Modelle in der Cloud: Autodesk 360 Mobile Die Präsentation Ihrer Revit Modelle kann auf unterschiedlichste Weise erfolgen. Diverse Cloud Plattformen bieten kostenlosen Speicherplatz und Freigabeoptionen

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5

Mehr

Mail-Signierung und Verschlüsselung

Mail-Signierung und Verschlüsselung Mail-Signierung und Verschlüsselung ab Release-Version 2013.02, ein kostenlos zur Verfügung gestelltes Feature! Elektronische Post ist aus unserem privaten und beruflichen Leben nicht mehr wegzudenken.

Mehr

Nur ein paar Schritte zum ebook...

Nur ein paar Schritte zum ebook... Nur ein paar Schritte zum ebook... Diese Anleitung wurde am Beispiel Arzneimittelbeziehungen erstellt Wenn Sie einen anderen Titel erwerben möchten, ersetzen Sie die im Beispiel verwendeten Arzneimittelbeziehungen

Mehr

Informationen zum neuen Studmail häufige Fragen

Informationen zum neuen Studmail häufige Fragen 1 Stand: 15.01.2013 Informationen zum neuen Studmail häufige Fragen (Dokument wird bei Bedarf laufend erweitert) Problem: Einloggen funktioniert, aber der Browser lädt dann ewig und zeigt nichts an Lösung:

Mehr

Zeiterfassung mit Aeonos. Bedienungsanleitung für die App

Zeiterfassung mit Aeonos. Bedienungsanleitung für die App Zeiterfassung mit Bedienungsanleitung für die App Inhaltsverzeichnis Einleitung... 3 Installationsanleitung (für alle Versionen)... 3 Vorbereitung... 3 Installation mit Hilfe des Internet-Browsers... 4

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Keine Kompromisse. Optimaler Schutz für Desktops und Laptops CLIENT SECURITY

Keine Kompromisse. Optimaler Schutz für Desktops und Laptops CLIENT SECURITY Keine Kompromisse Optimaler Schutz für Desktops und Laptops CLIENT SECURITY Aktuelle Software ist der Schlüssel zur Sicherheit 83 % [1] der Top-Ten-Malware hätten mit aktueller Software vermieden werden

Mehr

Aufbau der GO-Redaktionssystem-Oberfläche Schulungsunterlagen für

Aufbau der GO-Redaktionssystem-Oberfläche Schulungsunterlagen für Aufbau der GO-Redaktionssystem-Oberfläche Schulungsunterlagen für Login Aufbau der GO-Redaktionssystem-Oberfläche Das Backoffice, die Arbeitsumgebung für RedakteurInnen, ist erreichbar unter der URL: http://www.oegbverlag.at/backoffice

Mehr

1. Was ihr in dieser Anleitung

1. Was ihr in dieser Anleitung Leseprobe 1. Was ihr in dieser Anleitung erfahren könnt 2 Liebe Musiker, in diesem PDF erhaltet ihr eine Anleitung, wie ihr eure Musik online kostenlos per Werbevideo bewerben könnt, ohne dabei Geld für

Mehr

Evident VDDS-Anbindung von MIZ

Evident VDDS-Anbindung von MIZ Evident VDDS-Anbindung von MIZ Die VDDS Schnittstelle erlaubt die Übernahme der Patientendaten aus Evident in MIZ. Außerdem können Sie aus Evident heraus (aus der Patientenkarteikarte) MIZ oder den MIZViewer

Mehr

Installations- und Bedienungsanleitung CrontoSign Swiss

Installations- und Bedienungsanleitung CrontoSign Swiss Installations- und Bedienungsanleitung CrontoSign Swiss Das neue Authentisierungsverfahren CrontoSign Swiss codiert die Login- und Transaktionssignierungsdaten in einem farbigen Mosaik. Das farbige Mosaik

Mehr

Kostenfreier Emailkurs

Kostenfreier Emailkurs Kostenfreier Emailkurs Lektion 6 Die eigene Homepage Ich bin gerade an zwei neuen Kampagnen dran, von denen ich mir sehr viel verspreche. Leider beginnen die Verkaufsseiten mit einem furchtbar langen Video.

Mehr

Ein mobiler Electronic Program Guide für Android

Ein mobiler Electronic Program Guide für Android Whitepaper Telekommunikation Ein mobiler Electronic Program Guide für Android Prototyp für Android Apps 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller Munde. Durch

Mehr

Cisco AnyConnect VPN Client - Anleitung für Windows7

Cisco AnyConnect VPN Client - Anleitung für Windows7 Cisco AnyConnect VPN Client - Anleitung für Windows7 1 Allgemeine Beschreibung 2 2 Voraussetzungen für VPN Verbindungen mit Cisco AnyConnect Software 2 2.1 Allgemeine Voraussetzungen... 2 2.2 Voraussetzungen

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

Erste Schritte mit Palette@Home

Erste Schritte mit Palette@Home Erste Schritte mit Palette@Home Mit der E-Mail haben Sie bis auf die Lizenz alle benötigten Informationen zur Nutzung von Palette@Home erhalten. Auf den nächsten Seiten wollen wir Ihnen den Einstieg erleichtern

Mehr

Download von Hörbüchern

Download von Hörbüchern Manual PocketBook LUX und ebookit Download von Hörbüchern Wie kommen Hörbücher auf den PocketBook LUX? Rolf 11.10.2013 Inhalt Download von Hörbüchern... 2 Einleitung/Ausgangslage... 2 Download auf Notebook/PC...

Mehr

PocketPC.ch Review. SBSH ilauncher 3.1. Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember 2007. PocketPC.ch_Review_iLauncher.

PocketPC.ch Review. SBSH ilauncher 3.1. Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember 2007. PocketPC.ch_Review_iLauncher. PocketPC.ch Review SBSH ilauncher 3.1 Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember 2007 Autor: Dateiname: PocketPC.ch_Review_iLauncher.doc Inhaltsverzeichnis SBSH ilauncher 3.1...3 Übersicht...

Mehr

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden. Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden. Nach den Änderungen die Facebook vorgenommen hat ist es einfacher und auch schwerer geworden eigene Seiten einzubinden und

Mehr

Der Kalender im ipad

Der Kalender im ipad Der Kalender im ipad Wir haben im ipad, dem ipod Touch und dem iphone, sowie auf dem PC in der Cloud einen Kalender. Die App ist voreingestellt, man braucht sie nicht laden. So macht es das ipad leicht,

Mehr

Geschäftsbereich Mobile Services Was ist Android?

Geschäftsbereich Mobile Services Was ist Android? Geschäftsbereich Mobile Services Was ist Android? Hinter Hoben 149 53129 Bonn www.visionera.de Ansprechpartner: Arno Becker arno.becker@visionera.de +49 228 555 1111 +49 160 98965856 Einleitung Android

Mehr

25 Import der Beispiele

25 Import der Beispiele 25 Import der Beispiele Versuch es nicht mit Gewalt. Nimm einfach einen größeren Hammer (Murphy s Law) 25.1 Einleitung Alle Beispielprogramme dieses Buchs funktionieren mit jeder Java-konformen Entwicklungsumgebung.

Mehr

Pfötchenhoffung e.v. Tier Manager

Pfötchenhoffung e.v. Tier Manager Pfötchenhoffung e.v. Tier Manager A.Ennenbach 01.08.2015 Tier Manager Inhalt Administrationsbereich Tiere auflisten & suchen Tier hinzufügen Tier bearbeiten (Status ändern, etc.) Administrationsbereich

Mehr

SMS/ MMS Multimedia Center

SMS/ MMS Multimedia Center SMS/ MMS Multimedia Center der BEYOND THE NET GmbH BEYOND THE NET GmbH Seite 1 Unser Multimedia Center ist eine WEB basierende Anwendung, die es ermöglicht von einer Zentrale aus, viele Mitarbeiter zu

Mehr

B12-TOUCH VERSION 3.5

B12-TOUCH VERSION 3.5 Release B12-TOUCH VERSION 3.5 Braunschweig, August 2014 Copyright B12-Touch GmbH Seite 1 B12-Touch 3.5 Die neue B12-Touch Version 3.5 beinhaltet wesentliche Verbesserungen im Content Management System,

Mehr