Home / Online-Artikel / Open-Source-Spezial / 2009 / 02 / Blick auf Android

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

AA_auge_sxc_1138723.jpg

© sxc.hu

Blick auf Android

Android als Konkurrenz zu Windows Mobile und dem iPhone

14.10.2009 Eigentlich wird ja das Handy-OS Android von der Open Handset Alliance entwickelt und verbreitet, doch einen Namen gemacht hat sich das Betriebssystem für mobile Geräte in erster Linie durch Google.

Hinter Android steht ein Konsortium von über 30 sich ergänzenden Technologieträgern [1]. Im Zentrum der Entwicklung steht jedoch klar der Platzhirsch Google, der damit gegen Windows Mobile und das iPhone antritt. Dieser Artikel wirft einen Blick auf die Geschichte und Entwicklung des Google-Handys und zeigt, wie Sie Programme dafür entwickeln.

Die Plattform ist das Ergebnis jahrelanger Entwicklungsarbeit, die bis zur offiziellen Bildung des Konsortiums alleine der Google-Ableger Android vorangetrieben hat. Android Inc. selbst, ehemals angesiedelt in Palo Alto und damit nur ein paar Autominuten entfernt vom ständig wachsenden Googleplex im Nachbarort Mountain View, wurde 2005 von Google übernommen und konnte somit ungestört im Verborgenen arbeiten. Die Übernahme machte klar, dass der Internet-Gigant auch die mobile Welt auf dem Radar hatte und zu gegebener Zeit eine Antwort haben würde. Mit Android Inc., gegründet von Andy Rubin (Ex WebTV, Danger-Gründer), hat Google einige Veteranen von WebTV und Danger und damit eine Menge Erfahrung ins Boot geholt.

Wäre ein gPhone von Google schon (wie das iPhone) als ein ernstzunehmender Angriff auf das gesamte Establishment der Handywelt zu verstehen gewesen, so hat die offene Android-Plattform mit der nun breiteren Basis auf mittlere und längere Frist noch wesentlich mehr Sprengkraft zu bieten. Viele Handyhersteller suchen derzeit nach einer Alternative für die bisweilen doch sehr betagten eigenen proprietären Plattformen, die mit der schönen neuen Multimediawelt, den hohen Datenmengen und insbesondere den Forderungen nach besseren Benutzeroberflächen nicht mehr nachkommen.

Interessierte Mitspieler

Android basiert aktuell auf dem Linux-Kernel 2.6.29. Die Benutzeroberfläche nutzt in erster Linie Java. Neben Android gibt es noch ein paar weitere Mitspieler, die auf Ihren mobilen Geräten ein Linux-System einsetzen: Dazu gehören die Access Linux Platform (ALP) [2], das von Nokia entwickelte Maemo [3] sowie WebOS von Palm [4].

Im Zentrum von Android steht eine offene Systemplattform, die auf Linux und der virtuellen Java-Maschine Dalvik aufbaut. Android enthält zudem einen Port des von Apple für den Browser Safari entwickelten Webkits. Webkit hat seine Wurzeln wiederum beim KDE-Projekt, also ebenfalls freie Software. Webkit kommt neben Android auch bei sehr vielen Nokia-Geräten der S60-Serie zum Einsatz, auch das iPhone setzt auf die freie Browser-Engine. Webkit ist inzwischen zum "hot cake" schlechthin avanciert, lassen sich damit doch endlich Ajax-fähige Browser-Applikationen auf dem Handy erstellen. Es Bedarf keiner intensiven Analyse um zu erkennen, das damit ein hohes Potential dafür besteht, das Android-Hardware mit einem Großteil der zu erwartenden iPhone-Applikationen zurecht kommt.

Die beste Plattform nutzt nichts wenn die Programmierer, die ja letztendlich für das Erstellen der Applikationen sorgen, das Angebot nicht wahrnehmen. Auch hier hat Google einen Schnellstart hingelegt: Ein Programmierwettbewerb mit einer Gesamtbörse von 10 Millionen US-Dollar heizte vom ersten Tag an das Interesse der Entwickler an. Dies kommt neben Google auch der Android-Community zu Gute, auch wenn die meisten Programme zurzeit noch nicht so viel Geld einspielen, wie Anwendungen aus dem iPhone-Store.

Dalvik- Java im Android-Style

In erster Linie soll der Programmierer die Android-Applikationen in Java erstellen. Bei der von Google gewählten Java-Version handelt es sich allerdings nicht um das klassische Java von Sun, sondern die so genannte Dalvik-VM [5].

In der Android-Welt kompiliert der von Google entwickelte Compiler die Quellen in den Bytecode für die so genannte Dalvik-VM, ohne sich um die offizielle Java-TCK zu kümmern. Abgesehen von einigen rein kosmetischen Unterschieden ist die Dalvik-VM nicht einfach ein "clean room"-Port der bekannten Sun Java VM. Der Bytecode (dex statt der gewohnten class-Dateien) beider VMs unterscheidet sich zum Teil erheblich. Dies liegt unter anderem daran, dass Dalvik registerbasiert arbeitet, während die Sun VM Parameter auf dem Stack verwaltet.

Der Bytecode normaler Java-Programme lässt sich mit Hilfe des dx-Tools in den Dalvik-Bytcode kompilieren. Dank der von Apache Harmony übernommenen Java SE-Bibliotheken ist die Chance groß, dass die Java SE-Applikationen auch unter Android ausgeführt werden. Harmony wiederum greift auf das Technology Compatibility Kit von Sun zu, so dass die Bibliotheken Sun-konform sind – ein wirklich genialer Schachzug seitens Google.

Da jede Android-Applikation in ihrem eigenen Prozess abläuft, ist Dalvik auch für den parallelen Einsatz vieler VMs auf Systemen mit wenigen Ressourcen optimiert. Natürlich bleibt es beim Support durch eine VM nicht aus, dass sich auch Scripting-Umgebungen nutzen lassen. Mit Hecl [6] steht ein erster Port zur Verfügung. Weitere dürften folgen. David Welton führte den Hecl-Port durch und baute einige nützliche Erweiterungen ein. So erlaubt Hecl Applikationsscripts, die direkt auf Android-Widgets zugreifen. Zudem ist der Zugriff auf Dalvik-Klassen möglich.

Einen guten Überblick in die zur Verfügung stehenden Java-Bibliotheken [7] findet sich auf den Dokumentationsseiten zu Android. Es fallen unter anderem APIs für die eingebaue SQLite-Datenbank, weiterführende Netzwerk-Schnittstellen (Proxy-Support), der OpenGL-Support, ein schlanker SAX-Handler, ein Modul zur Sprecherkennung oder der XMPP-Support auf. Neben vielen Java SE-Libs (java.*) finden sich des Weiteren die bekannte Bluetooth-API Bluez sowie JSON.

Tip a friend    Druckansicht Bookmark and Share
Kommentare

722 Hits
Wertung: 136 Punkte (11 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2010_01

Aktuelle Ausgabe kaufen:

Open Source Spezial erscheint zwei bis vier mal jährlich und kostet 7,90 EUR pro Ausgabe. Weitere Informationen zu Open Source Spezial finden Sie im Shop der Linux New Media AG.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...