Sie sind hier
E-Book

Android Schnelleinstieg

AutorStephan Elter, Sven Haiges
Verlagentwickler.press
Erscheinungsjahr2014
Seitenanzahl250 Seiten
ISBN9783868022858
FormatPDF/ePUB
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis19,99 EUR
Das Android-OS bleibt auf Erfolgskurs. Die Dominanz des mobilen Betriebssystems gegenüber iOS und Co. ist bis heute ungebrochen. Auch für Einsteiger auf dem Gebiet der App-Programmierung bleibt Android-Programmierung daher ein lohnenswertes Themenfeld. Stephan Elter hat den erfolgreichen Android-Schnelleinstieg von Sven Haiges von Grund auf überarbeitet und erweitert. Diese Neuauflage behandelt nach wie vor die elementaren Aspekte von Android und ermöglicht so einen schnellen und unkomplizierten Einstieg in die Entwicklung von Android-Apps. Themen wie Intents und Broadcast Receiver, Android-App-Widgets, Maps oder NFC wurden erweitert und auf den aktuellen Stand der Technik gebracht. Hinzugekommen sind unter anderem Kapitel zur Konfiguration und Installation, spannende Erweiterungen zum Android-UI sowie zur Veröffentlichung der fertigen App. In kurzen und gut lesbaren Abschnitten bringt Sie dieses Buch zu Ihrer ersten eigenen Android-App. Zielgruppe: Alle App-Entwickler, eher für Einsteiger ins Thema

Stephan Elter arbeitet als Entwickler im Norden. Neben PHP und Java sind seit dem Palm III mobile Geräte seine Leidenschaft. Er ist Autor im PHP Magazin und im Java Magazin. Neben seiner eigenen Webseite schreibt er auch häufig als Gastautor für andere Blogs. Sven Haiges arbeitet als Technology Strategist bei der Hybris GmbH in München. Neben Groovy und Grails beschäftigt er sich dort derzeit auch mit HTML5, Android und weiteren Zukunftsthemen. Sven lebt mit seiner Familie in München und kann gerne unter @hansamann auf Twitter gefolgt werden.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

2 Komponenten einer App – und gleich ein paar Basics

Bevor wir uns dem (eigentlich gar nicht so) heimlichen Hauptthema dieses Buches – den Android Activities – intensiver widmen, wollen wir uns einen Überblick über die unterschiedlichen Komponenten einer An­droid-­Applikation verschaffen. Und wenn wir schon dabei sind, sollen auch gleich noch ein paar weitere wichtige Basics erklärt werden.

Im Vergleich zu Java ME- oder iOS-Applikationen bestehen Android-Applikationen zumeist aus vielen, relativ lose gekoppelten Teilen. Das werden für Sie in erster Linie die eben genannten Activities sein, die unter anderem das UI, das User Interface, bereitstellen. Aber Activities müssen eben nicht die einzigen Komponenten einer App sein, genauso können es Android Services, Content Provider, Intents oder Broadcast Receiver sein.

Schöne Bezeichnungen – aber wozu das Ganze?

Natürlich ist das Ganze kein Selbstzweck, es geht auch nicht um abstrakte Designziele eines beliebigen Betriebssystems. Android ist ein hochleistungsfähiges Betriebssystem für mobile Geräte. Aber so leistungsfähig die Prozessoren und so groß der Speicher der verwendeten Geräte auch sein mögen – mobil zu sein, bringt auch immer Einschränkungen mit sich. Denn irgendwo in den mobilen Geräten gibt es eine Energiequelle, die eben nicht unendlich ist, und manchmal sind die nächste Steckdose und ein passendes Ladegerät schmerzhaft weit entfernt. Ein solches System sollte deshalb nicht unnötig belastet oder sogar ständig ausgelastet werden.

Android ist deshalb so konzipiert, dass eine Applikation aus kleinen, flexiblen Komponenten bestehen kann, die jeweils sehr spezifische (Teil-)Aufgaben erledigen und sich gegenseitig aufrufen und abwechseln können.

Ein besonders wichtiger Punkt ist dabei, dass diese Komponenten bei Ressourcenknappheit sehr schnell „zum Abschuss freigegeben“ werden, wenn sie aktuell nicht mehr aktiv sind. Die Zustände (oder aktuellen Inhalte) dieser Komponenten müssen dabei aber nicht vollständig verloren gehen, sondern können recht leicht für ein schnelles „Wiederauf­erstehen“ vorgehalten werden. So können diese Komponenten im Bedarfsfall recht schnell wieder neu erzeugt werden, belasten das System zwischenzeitlich aber nicht mehr. Das System wird also nur mit solchen Aufgaben (und ausgeführten Programmen) belastet, die tatsächlich benötigt werden.

Auch wird nicht für jede Aufgabe, die von einer App ausgeführt werden muss, eine ressourcenhungrige grafische Oberfläche benötigt. Und es gibt Aufgaben, die problemlos unterbrochen oder ganz beendet werden können, während andere (unauffällig) im Hintergrund weiterlaufen müssen. Android stellt Ihnen deshalb maßgeschneiderte Bausteine zur Verfügung, aus denen eine App gebaut werden kann.

Eben dafür gibt es einige neue Konzepte zu verstehen, und auch wenn wir gerade am Anfang nicht die Zeit haben, jedes einzelne Element umfassend zu behandeln, wollen wir die wichtigsten kurz in einer Übersicht vorstellen:

  • Activities beherbergen die Präsentationsschicht einer jeden Android-Applikation. Darüber hinaus kann jede Activity aber auch einiges an Programmlogik beinhalten. Im Normalfall gehört zu einer Activity eine XML-Datei, die eine Oberfläche darstellt, genauso wie eine Java-Datei, die (im Extremfall) sogar die gesamte Programmlogik der App beinhalten könnte. Außer bei sehr kleinen Apps würde das aber natürlich niemand machen – hoffentlich zumindest. Das UI kann dabei über XML oder aber auch direkt im Programmcode erstellt werden. Realisiert wird das durch Android-UI-Komponenten, die von der Klasse android.view.View erben. Die so genannten ViewGroups sind dafür verantwortlich, die Views (auch Widgets oder Controls genannt) entsprechend zu positionieren. Einfacher ausgedrückt, besteht eine Oberfläche aus unterschiedlichsten Elementen, die Views genannt werden. Um diese Elemente besser anordnen zu können, gibt es wiederum verschiedene containerähnliche Elemente, das sind die genannten ViewGroups. Eigentlich ganz einfach. Eine App kann übrigens eine oder beliebig viele Aktivitäten haben und zwischen diesen hin- und herwechseln.
  • Services sind die unsichtbaren Helfer Ihrer Applikation, die je nach Applikationslogik regelmäßig erwachen und beispielsweise nach neuen E-Mails schauen. Services selbst haben kein UI, können jedoch durch das Android Notification Framework den Nutzer informieren.
  • Intents (Vorhaben, Absichten) sind ein enorm wichtiges Konzept. Sie sind nichts anderes als eine Art „Nachricht“ (oder Aufruf), die entweder direkt an einen Service oder eine Activity adressiert ist (Explicit Intents) oder systemweit wie eine Art Rundfunk (Broadcast) ausgerufen werden kann (Implicit Intents). Das Android-Betriebssystem ist in letzterem Fall dafür verantwortlich, potenzielle Empfänger dieser Nachrichten zu finden und dem Anwender eine Auswahl der Applikationen zu präsentieren, die die Nachricht verarbeiten können. Im einfachsten Fall (dem Explicit Intent) rufen Sie mit einem Intent eine genau festgelegte, andere Activity der gleichen App auf und wechseln somit innerhalb Ihrer App zu dieser Activity.
  • Broadcast Receiver konsumieren bzw. empfangen die impliziten Nachrichten (Implicit Intents). Hat Ihre Applikation entsprechende Broadcast Receiver registriert (so eine Art „Hey! Ich kann das!“), kann ein entsprechender Intent Ihre Applikation starten, um dann die Nachricht bzw. zugrunde liegende Daten zu verarbeiten. Unter Windows kennt man das beispielsweise in einfacher Form, wenn sich Programme bei der Installation für bestimmte Dateiendungen registrieren und damit im System bekannt geben, dass sie bestimmte Dateien bearbeiten können. Im einfachsten Fall ein Editor, der Textdateien mit der Dateiendung .txt bearbeiten kann. Natürlich hinkt der Vergleich ein wenig, hilft aber doch beim grundsätzlichen Verständnis.
  • Content Provider: Die Vorratsspeicher zur Datenhaltung. Mittels eines oder mehrerer Content Provider kann Ihre Applikation Daten anderen Applikationen zugänglich machen. Auch intern benutzt Android Content Provider, beispielsweise, um die Kontakte des Telefonbuchs anderen Applikationen zur Verfügung zu stellen. Content Provider benutzen intern zumeist SQLite-Datenbanken, können jedoch auch andere Mechanismen der Datenhaltung (Dateisystem, Netzwerk) benutzen.

Neben diesen Bestandteilen einer Android-Applikation gibt es natürlich auch noch andere: Widgets beispielsweise, das sind kleine Applikationen, die direkt auf dem Home Screen der Geräte ausgeführt werden. Widgets sind nicht zu verwechseln mit den Android-UI-Komponenten, die oft auch genauso bezeichnet werden. Live Folders geben vom Home Screen aus Zugriff auf Elemente eines Content Providers und können so beispielsweise Ihre gespeicherten Kontakte zugänglich machen.

2.1 Anatomie einer App – ein Blick unter die Motorhaube

Wie ist eine typische Android-Applikation nun strukturiert? Und wie finde ich mich in dieser Struktur zurecht? Werfen wir doch gleich am Anfang einen Blick auf eine schematische Darstellung einer typischen App.

Abbildung 2.1: Viel Inhalt, vor allem eine ganze Menge XML; die angegebene „strings.xml“ dient als leicht zu merkendes Beispiel

Wie man in der Abbildung sehen kann, gibt es im Inneren einer App mehr als man vielleicht vermuten würde. Eine App besteht aus unterschiedlichen Ressourcen, beispielsweise Grafiken oder MP3-Dateien, die in der App verwendet werden. Es gibt eine ganze Menge von XML-Dateien, beispielsweise eine strings.xml, in der alle Texte (auch einfache Wörter) hinterlegt sind. Genauso werden in einer App alle Farbwerte und Größenangaben in XML-Dateien hinterlegt. Einen besonderen Status hat die AndroidManifest.xml, quasi der Personalausweis unserer App. Dort werden zentrale Informationen wie der Name, die Versionsnummer und notwendige Berechtigungen (z. B. Zugriff auf das Internet) festgelegt. Das zentrale Element, das alle Elemente miteinander verbindet und den Zugriff darauf ermöglicht, ist „R“. Und nicht vergessen dürfen wir unsere Activity, denn irgendwo muss sich ja auch unser Java verstecken und die Logik untergebracht sein. Und ja, natürlich kann eine App auch mehrere Activities haben. Und alle Activities können auf die Ressourcen Ihrer App zugreifen.

Abbildung 2.2: Eine typische Activity mit einem nicht ganz so typischen Namen – sie bildet das Aussehen („activity_curt.xml“) und das Gehirn („Curt.java“) der App ab

Nun zur Praxis

Sollten Sie bisher noch keine App erstellt haben, sollten Sie das spätestens jetzt nachholen: Datei | Neu | Android Application Project. Im Zweifelsfall werfen Sie dazu noch einen kurzen Blick in unser erstes Kapitel. Dort finden Sie auch einen entsprechenden Screenshot, den wir uns deshalb an dieser Stelle sparen wollen. Sie vergeben im Assistenten einen beliebigen Namen für Ihre App, aus dem sich (allerdings nicht zwingend) auch der Projektname in Eclipse herleitet. Genauso wird der Package Name ergänzt, sollte aber weiter angepasst werden, es sei denn, Sie sind tatsächlich Besitzer der vorgegebenen Domain example.com. Weitere notwendige Angaben beziehen sich auf die Auswahl der zugrunde liegenden APIs. Minimum Required SDK1 verhindert, dass Ihre App auf Geräten installiert werden kann, deren API unter dem angegebenen Wert liegt und bei denen Sie davon ausgehen, dass sie zu alt für Ihre App sind. Unter Target...

Blick ins Buch

Weitere E-Books zum Thema: Betriebssysteme - Computersoftware

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Sicheres Netzwerkmanagement

E-Book Sicheres Netzwerkmanagement
Konzepte, Protokolle, Tools Format: PDF

Die Administration komplexer Rechnernetzwerke verlangt durch die ständige Weiterentwicklung etablierter Standards und die Integration gänzlich neuer Technologien ein umfassendes technisches Know-how…

Sicheres Netzwerkmanagement

E-Book Sicheres Netzwerkmanagement
Konzepte, Protokolle, Tools Format: PDF

Die Administration komplexer Rechnernetzwerke verlangt durch die ständige Weiterentwicklung etablierter Standards und die Integration gänzlich neuer Technologien ein umfassendes technisches Know-how…

Weitere Zeitschriften

BMW Magazin

BMW Magazin

Unter dem Motto „DRIVEN" steht das BMW Magazin für Antrieb, Leidenschaft und Energie − und die Haltung, im Leben niemals stehen zu bleiben.Das Kundenmagazin der BMW AG inszeniert die neuesten ...

BONSAI ART

BONSAI ART

Auflagenstärkste deutschsprachige Bonsai-Zeitschrift, basierend auf den renommiertesten Bonsai-Zeitschriften Japans mit vielen Beiträgen europäischer Gestalter. Wertvolle Informationen für ...

Burgen und Schlösser

Burgen und Schlösser

aktuelle Berichte zum Thema Burgen, Schlösser, Wehrbauten, Forschungsergebnisse zur Bau- und Kunstgeschichte, Denkmalpflege und Denkmalschutz Seit ihrer Gründung 1899 gibt die Deutsche ...

DSD Der Sicherheitsdienst

DSD Der Sicherheitsdienst

Der "DSD – Der Sicherheitsdienst" ist das Magazin der Sicherheitswirtschaft. Es erscheint viermal jährlich und mit einer Auflage von 11.000 Exemplaren. Der DSD informiert über aktuelle Themen ...

EineWelt

EineWelt

Lebendige Reportagen, spannende Interviews, interessante Meldungen, informative Hintergrundberichte. Lesen Sie in der Zeitschrift „EineWelt“, was Menschen in Mission und Kirche bewegt Man kann ...

FileMaker Magazin

FileMaker Magazin

Das unabhängige Magazin für Anwender und Entwickler, die mit dem Datenbankprogramm Claris FileMaker Pro arbeiten. In jeder Ausgabe finden Sie von kompletten Lösungsschritten bis zu ...