Einführung in das mobile Betriebssystem Android
|
|
- Gretel Kruse
- vor 8 Jahren
- Abrufe
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.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht
MehrSmartphone 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
MehrHANDBUCH 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
MehrDaten-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.
MehrDokumentation 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.......................
MehrJederzeit 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
Mehriphone- 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
Mehrzwanzignull8 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
MehrL10N-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
MehrEin 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
MehrS/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
MehrPrä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
MehrOutlook. 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
Mehr1. 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
MehrWindows 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
MehrWindows 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
MehrEinfü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,
MehrWalkabout: 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
Mehr1. 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
MehrFlash 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
MehrWindows 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
MehrToolbeschreibung: 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
MehrMicrosoft 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
MehrZwischenablage (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
MehrNicht 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.
MehrGITS 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
MehrLogics 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...
MehrMozilla 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.
MehrResponsive 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
MehrMORE 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
Mehr1. 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
MehrTerminabgleich 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
MehrHandbuch 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
MehrAnleitung. 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
MehrNokia 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
MehrSynchronisations- Assistent
TimePunch Synchronisations- Assistent Benutzerhandbuch Gerhard Stephan Softwareentwicklung -und Vertrieb 25.08.2011 Dokumenten Information: Dokumenten-Name Benutzerhandbuch, Synchronisations-Assistent
MehrKeePass 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
MehrWordpress: 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
MehrInformationen 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
MehrOutlook 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...
MehrAnleitung 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
Mehr14.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...
MehrNOXON 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
MehrAnton 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
Mehrmobilepoi 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.
MehrVersion 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
MehrPunkt 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
MehrVerwenden 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
MehrMetaQuotes 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
MehrDie 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
MehrQTTabBar 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
MehrErste 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
MehrBILDER 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
MehrArbeiten 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
MehrLED 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
MehrDOKUMENTATION 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
MehrMatrix42. 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
MehrPassword 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...
MehrTipps 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
Mehr2. 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
MehrSchritt-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
MehrKonfiguration 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
Mehr1. 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,
Mehreridea 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
MehrDokumentation. 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
MehrProgramme 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
MehrCodeSaver. 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
Mehretutor 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:
MehrDomino 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)
MehrDatenbanken 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,
MehrAlltag 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,
MehrTELIS 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
MehrRevit 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
MehrWindows. 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
MehrDownloadfehler 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
MehrMail-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.
MehrNur 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
MehrInformationen 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:
MehrZeiterfassung 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
MehrEinfü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
MehrKeine 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
MehrAufbau 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
Mehr1. 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
MehrEvident 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
MehrInstallations- 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
MehrKostenfreier 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.
MehrEin 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
MehrCisco 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
MehrMobile 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
MehrErste 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
MehrDownload 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...
MehrPocketPC.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...
MehrEine 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
MehrDer 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,
MehrGeschä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
Mehr25 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.
MehrPfö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
MehrSMS/ 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
MehrB12-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