Seit Juli 2013 bietet Google die v7 appcompat library an, welche die ActionBar für Android Gerät ab Version 2.1 verfügbar macht.

ANDROID V7 APPCOMPAT LIBRARY – DIE GROSSE UNBEKANNTE?

  • Seit Juli 2013 bietet Google die v7 appcompat library an, welche die ActionBar für Android Gerät ab Version 2.1 verfügbar macht.

Seit Juli 2013 bietet Google die v7 appcompat library an, welche die ActionBar für Android Gerät ab Version 2.1 verfügbar macht.

Bei der Appentwicklung für Android stellt sich stets die Frage, welche Version des Google-Betriebssystems man mit der zu entwickelnden App bedienen will. Möchte man möglichst weit abwärtskompatibel entwickeln, also beispielsweise für API Level 8, so bedient man zwar einen Großteil aller Geräte auf dem Markt, muss aber zwangsläufig auch auf einige neuere Features verzichten. Im November 2013 liefen beispielsweise noch 26,3% aller Android Geräte mit Gingerbread (Version 2.3.3 – 2.3.7). Will man also nicht gut ein Viertel aller potentiellen Kunden für seine App von vornherein ausschließen, sollte man bei der Entwicklung mindestens API Level 10 einschließen.

Durch die Android Support Library Packages sind viele erst später eingeführtes Features mittlerweile auch in früheren Versionen des Betriebssystems verfügbar. Die v4 Support Library ist beispielsweise dafür darauf ausgelegt, mit Android 1.6 (API Level 4) und höher benutzt zu werden. Sie macht es möglich, Fragments und DrawerLayouts auch auf älteren Android Geräten zu nutzen, obwohl diese ursprünglich erst mit API Level 11 eingeführt wurden. Die v4 Support Library ist vergleichsweise einfach zu benutzen, da sie – sofern man im SDK Manager das Android Support Package installiert hat – standardmäßig in allen Android Projekten enthalten ist und nicht manuell als library project importiert werden muss.

Library Projekte in Eclipse – lästige Hilfen

Da es beim Importieren von externen Bibliotheken in Eclipse, gerade im Zusammenspiel mit Versionskontrollen und Continuous Integration Services, immer wieder zu Problemen kommt, möchte man die Benutzung solechr 3rd party libraries in der Regel vermeiden. Doch bei einem zentralen Android-Feature, der ActionBar, kam man bis vor Kurzem einfach nicht daran vorbei, sich einer externen Bibliothek zu bedienen. Die ActionBar wurde mit Honeycomb eingeführt. Sie hat die TitleBar ersetzt und darüber hinaus auch einige neue Möglichkeiten, wie die Navigation per launcher icon und das Platzieren von Menüs in der ActionBar, mit sich gebracht.

Um die ActionBar auch auf Geräten unterhalb von API Level 11 zu nutzen, greifen die meisten Entwickler nach wie vor auf die ActionBarSherlock library zurück. Was sich scheinbar noch nicht herumgesprochen hat: Seit Juli 2013 steht mit der v7 Library eine Google Support Library zur Verfügung, die die Action Bar für Geräte ab Android Version 2.1 verfügbar macht.

Um die v7 library zu benutzen, sollte man zunächst den SDK Manager öffnen und sicherstellen, dass man die aktuellste Version des Android Support Packages installiert hat. Anschließend kann man in seinem Projekt die appcompat v7 library importieren. Diese findet man, relativ zum Installationsverzeichnis in /sdk/extras/android/support/v7/appcompat. Zuletzt sollte man nicht vergessen, die Bibliothek in Properties -> Android zu den benutzten libraries hinzuzufügen. Um die ActionBar in seiner App zu verwenden, muss man seine Activity von der Klasse ActionBarActivity ableiten. Nun kann man mit

getSupportActionBar()

auf die ActionBar zugreifen. Im Endeffekt muss man zwar trotzdem ein library project inmportieren, um die ActionBar zu benutzen, doch dafür kann man anschließend mit der Google eigenen SupportLibrary arbeiten.

Android Asset Studio statt HoloEverywhere


Auch die beliebte library HoloEverywhere beinhaltet in der neusten Version AppCompat statt ActionBarSherlock und ist somit problemlos weiter benutzbar. Doch auch für HoloEverywhere gibt es mit dem Android Asset Studio eine gute Alternative, die einem ein weiteres library project bei der Entwicklung ersparen kann.

Hier erfahren Sie mehr:

Oder rufen Sie uns an: 0221 / 291 993 72

Kommentar verfassen