Android 4.1 Jelly Bean Programmierung: Neue Features für Entwickler

19.04.2013

Android 4.1 ist die bisher schnellste und stabilste Version vom mobilen Android OS. Es wurden jede Menge Verbesserungen und neue Features implementiert – sowohl für die Benutzer als auch für Android Programmierer. Dieser Artikel bietet einen guten Überblick der neuen Features von Android 4.1 Jelly Bean. Android Entwickler können sich bei Android.com die Android 4.1 APIs Dokumentationen herunterladen und sich mit den neuen APIs von JellyBean vertraut machen. Das Android SDK für Entwickler gibt es bei Android.com.

 

Android 4.1 Jelly Bean: schneller, flüssiger, stabiler 

Android 4.1 wurde dahingehend verbessert, die beste Performance und die geringstmögliche Latenz bei den einzelnen Gestikulierungen, also ein durchweg intuitiveres Benutzerinterface zu bieten.

Um eine kontinuierlich, stabile Framerate bei allen Grafiken und Animationen zu gewährleisten, erstreckt sich vsync timing durchweg über das gesamte Android Framework.

Alles marschiert jetzt im Gleichschritt zu dem 16-Millisekunden vsync Herzschlag: Rendern, Touch Events, Screen Komposition sowie die Bildwiederholfrequenz. Keine Frames können sich in den Vordergrund drängen, oder gar auf der Strecke bleiben.

 

Bei Android 4.1 gibt es jetzt das tripple buffering-Feature für das Rendern der Grafiken in der Pipeline. Das Rendering fühlt sich hierdurch um einiges geschmeidiger an, sowohl beim Scrollen, als auch beim Blättern und natürlich auch bei den Animationen.

Durch die Synchronisation des Berührmomentes mit vsync timing wird die Latenz einer Berührung des Bildschirms unter Android 4.1 reduziert. Zusätzlich ist eine neue Funktion in Jelly Bean umgesetzt, welche darauf spekuliert, wo sich wohl ein Finger beim nächsten Screen-Refresh befinden könnte. Zusammen resultieren diese Features in einem direkteren Reaktionsverhalten und einer einheitlichen Anschlagsdynamik des Systems. Zusätzlich triggert Android Jelly Bean nach längerer Inaktivität einen CPU Input Boost für den nächsten Touch-Event, um sicherzustellen, dass keine Latenz entsteht.

Tooling hilft dabei, die absolut beste Performance aus den Apps rauszuholen. Das neue Android 4.1 Tool Systrace, sammelt fortweg Daten und Aktivitäten direkt vom Linux Kernel, um einen Gesamtüberblick der Systemaktivitäten zu erlauben. Die Daten werden als eine Gruppe von vertikal gestapelten Zeitreihen-Graphen dargestellt, um z.B. Rendering-Unterbrechungen oder andere Probleme aufzuzeigen. Das Tool steht ab jetzt im Android SDK zur Verfügung. (Tools R20 und höher).

 

Verbesserte Zugriffsmöglichkeiten / Accessibility Services

Mit neuen APIs für die unterschiedlichen Accessibility Services können Sie in Android 4.1 die verschiedenen Zugriffsarten des Benutzers (Gestikulierungen, Hardware, Zubehör) bearbeiten und verwalten. Das Erkunden der Benutzeroberfläche, sowie das Mitteilungssystem für den User sind intuitiver gestaltet und haben ein komplett neues Set an APIs für die App Entwicklung mit auf den Weg bekommen.

Die Accessibility Services können in den Einstellungen auf Ihre eigenen Tutorials verlinken, um somit dem Anwender das Konfigurieren und die Benutzung der einzelnen Dienste zu vereinfachen.

Apps, welche die Standart-Ansichten verwenden, erben die Besserungen der Komponenten von Ihren Vorgängerversionen automatisch, ohne dass der Code verändert werden muss. Customisierte Darstellungen wiederum, können neue Accessibility Node APIs benutzen, um die einzelnen, für die jeweiligen Services relevanten Elemente der Gestaltung, aufzuzeigen.

 

Internationalisierung von Android 4.1 - mehr Sprachen, mehr User

Mit Android 4.1 können jetzt auch Sprachen dargestellt werden, die von rechts nach links geschrieben werden. Dies geschieht durch den Einsatz von bi-directional text, sowohl in der Textansicht, als auch beim Editieren von Textelementen. Android Apps können Text, unabhängig davon, ob von-links-nach-rechts oder von-rechts-nach-links geschrieben wird, nicht nur darstellen sondern auch in beide Richtungen editierbar machen! Dabei können die Apps auch Fonts wie Arabisch oder Hebräisch unterstützen. Es lässt sich also mit Android 4.1 eine weitaus größere Benutzergruppe anzusprechen.

 

Weitere neue Features zur Sprachunterstützung unter Jelly Bean:

• Neue Indische Sprachen: Kannada, Telugu und Malayalam

• Neue Emoji Zeichen der Unicode Version 6.0

• Verbesserter Glyphen Support von japanischen Schriftzeichen (die japanischen Schriftzeichen werden speziell gerendert, insofern die Systemsprache auf Japanisch eingestellt ist)

• Arabische Schriftzeichen werden zudem auch auf Internetseiten (WebView) optimiert dargestellt

• Vertikale Texte in der WebView werden unterstützt – inklusive Ruby Text und vertikale Text Glyphen

Synthetic Bold kann auf sämtliche Schriftarten angewendet werden - auch auf Fonts, die keine spezielle Fettschrift mit im Paket haben

 

27 neue Tastaturbelegungen - User-installable Keymaps

Android 4.1 kommt mit 27 zusätzlichen, vom Benutzer individuell anwendbaren Tastaturbelegungen und deren spezifischen Layouts. Standartmäßig stehen bei Android 4.1 27 zusätzliche Keymaps zur Verfügung – ergonomische Tastaturbelegung (DSK - Dvorak Simplyfied Keyboard) inklusive. Sobald der Benutzer ein Keyboard anschließt, kann er in den Tastatureinstellungen eine oder mehrere Tastaturbelegungen für die jeweils benutzte Tastatur definieren. Die zugeordneten Keymaps lassen sich dann während der Eingabe, einfach durch einen Shortcut (Ctrl-Space), anwenden.

Mit Android 4.1 können Sie auch eine App entwickeln, um zusätzliche Keymaps im System zu veröffentlichen. Die APK würde dann gleich die Keyboard Layout Resource beinhalten - basierend auf dem standart-Android-Keymap Format. Auch kann eine App dem Benutzer weitere Keyboard Layouts zur Verfügung stellen, indem man dem Manifest einen entsprechenden Broadcast Receiver zuteilt: ACTION_QUERY_KEYBOARD_LAYOUTS.

 

Neue Möglichkeiten ein schönes UI zu gestalten!

Das Layout der Nachrichten lässt sich bei Android 4.1 individuell anpassen.

 

Erweiterte Benachrichtigungsfunktionen

Nachrichten sind eines der spannendsten Features im Android Betriebssystem. Programmierer können diese Funktion nutzen, um dem User wichtige und zeitnahe Ereignisse zu präsentieren - ohne das UI (User Interface) programmiertechnisch berühren zu müssen!

Android 4.1 Jelly Bean kommt mit einschneidenden Neuerungen, im Hinblick auf das Android Notification-Framework. Bei Android 4.1 können dem Benutzer jetzt größere und umfangreichere Benachrichtigungen angezeigt werden. Durch einen Wisch oder Pinch lassen sich die Notifications auch ausklappen. Es besteht die Möglichkeit neuen Content, wie z.B. Bilder in die Nachricht einzubauen, Prioritäten zu vergeben, sowie unterschiedliche Interaktionen zuzulassen.

Dank des überarbeiteten Notification Builders, können bei der Android App Entwicklung auch Benachrichtigungen mit einem Flächeninhalt von bis zu 256dp in der Höhe programmiert werden.

Drei Vorlagen für Notification Styles stehen hierfür zur Verfügung:

• BigTextStyle — Eine Benachrichtigung, welche ein mehrzeiliges TextView Object enthält.

• BigInboxStyle — Eine Benachrichtigung, die eine Liste jeglicher Art (wie z.B. Texte, Überschriften usw.) anzeigt.

• BigPictureStyle — Eine Benachrichtigung, die visuellen Content, wie z.B. ein Bitmap darstellt.

Zusätzlich zu diesen 3 Templates, können bei Android 4.1 auch eigene Notification Styles angelegt werden, indem der Programmierende die Remote-View seiner Wahl zum Einsatz bringt.

Die App-Nachrichten können mit bis zu 3 Interaktionsmöglichkeiten ausgestattet werden, welche gegebenenfalls unter der jeweiligen Benachrichtigung erscheinen. Die Aktionen erlauben es dem Benutzer direkt auf die Information in der Notification zu reagieren (z.B. per Email oder per Telefonanruf), ohne dabei die betroffene App starten zu müssen.

Die ausklappbaren Benachrichtigungen geben dem Benutzer weitere Informationsmöglichkeiten auf einen Blick – gezielt und einfach. Durch das gedrückt halten der Benachrichtigung können Infos über den Versender eingesehen, oder weiteres Anzeigen von Nachrichten dieses Versenders blockiert werden.

App Widgets können sich automatisch skalieren, um den Homescreen bildschirmfüllend zu nutzen und währenddessen verschiedenartigen Content zu laden.

 

Skalierbare App Widgets

Android 4.1 lanciert jetzt verbesserte App Widgets, die sich automatisch auf dem Homescreen skalieren, je nach dem wohin der Benutzer sie gerade fallen lässt, abhängig von der Größe, die dem Widget zugeteilt wurde und dem Platz, der auf dem Homescreen zur Verfügung steht. Dazu stehen bei Android 4.1 Jelly Bean neue Widget APIs bereit, die Entwicklern die Möglichkeit bietet, den Content eines jeweiligen Widgets, in Relation zur Widgetgröße anzupassen.

Sobald sich die Größe eines Widgets verändert, benachrichtigt das System den Widget-Provider der entsprechenden App, welcher dann den Content des Widgets angepasst nachlädt. Zum Beispiel kann ein Widget je nach Bedarf größere, detailliertere Grafiken darstellen oder zusätzliche Funktionalitäten oder Optionen anbieten. Dabei behält man als Android Entwickler stets die Kontrolle über Maximum und Minimum File-Größen. Auch können bei Bedarf zusätzliche Widget-Optionen angepasst werden.

Zudem ist es möglich, separate Landscape sowie Portrait Layouts für die Widgets festzulegen, welche dann - entsprechend des Modus - automatisch vom System skaliert werden.

App Widgets können durch drittanbieter Launchers und anderen Host-Apps angezeigt werden. Dies geschieht durch einen neuen Bind-Intent: (AppWidgetManager.ACTION_APPWIDGET_BIND).

 

Vereinfachte Task Navigation

Android 4.1 Jelly Bean vereinfacht beim Programmierprozess die „Up“-Navigation, welche dem Benutzer innerhalb einer jeweiligen App zur Verfügung steht, einheitlich zu gestalten. Durch Hinzufügen eines neuen XML-Attributs in das Manifest-File der App, wird die angestrebte Navigation als individuelle Activity-Komponente des UIs definiert.

Ebenfalls erhältlich ist eine neue TaskStackBuilder Class, mit der Android Entwickler schnell einen synthetischen Task Stack zusammenbasteln können, welcher unmittelbar startet, sobald eine Aktivität vom PendingIntent aus gestartet wird. Die Verwendung eines solchen synthetischen Task Stacks ist insbesondere dann von Vorteil, wenn der Benutzer Aktivitäten direkt von seinen RemoteViews wie z.B. von den Homescreen Widgets oder den Benachrichtigungen aus startet, weil der Programmierer eine konsequente und durchgängige Zurück-Navigation anbieten kann.

 

Einfache Animationen beim Starten einer Activity

Android 4.1 Programmierer können die neue Helper-Class ActivityOptions benutzen, um einfache Animationen beim Start einer Aktivität, zu erstellen und zu steuern. In der Helper-Class können auch speziell definierte Animationsresourcen angesteuert werden, auf die die App dann beim Launch der Aktivität zugreift. Zudem besteht die Möglichkeit, über die ActivityOptions Zoom Animationen anzufordern, die von einem beliebigen, vordefinierten Rechteck auf dem Screen, ausführbar sind und überdies optional ein Thumbnail Bitmap beinhalten können.

 

Überblenden in die „Lights Out“ sowie „Full Screen“ Modi

Neue System UI Flags in der Ansicht bieten saubere Überblendungsmöglichkeiten vom normalen UI der App (Aktions-, Navigations- und Systemleiste sichtbar) zum „Lights Out“ Modus (Status und Aktionsleiste ausgeblendet, Systemleiste gedimmt) sowie zum „Full Screen Modus“ (alle Leisten ausgeblendet).

 

Neue Tools zur Steuerung der verschiedenen Ansichten

Es gibt zwei neue Werkzeuge für Android 4.1 Programmierer, um die Layouts der Home Screen Widgets und die der Benachrichtigungen anzupassen: GridLayout und ViewStub. GridLayout ermöglicht es, die Inhalte der Remote Views zu strukturieren, sowie die Anordnung der Child-View, in einer flacheren UI-Hierarchie zu handhaben. ViewStub wiederum, ist eine unsichtbare, der Größe null entsprechende View, um während der Ausführung, ohne Probleme Layout-Ressourcen zur Verfügung zu haben.

 

Live Wallpaper Vorschau

Für den User vereinfacht Android 4.1 das Finden und das Installieren von Live Wallpapers, insoweit die App das Feature unterstützt. Wenn die App Live Wallpapers beinhaltet kann über eine Activity (ACTION_CHANGE_LIVE_WALLPAPER) dem User eine Vorschau der Live Wallpaper der eigenen App gezeigt werden. Der User kann daraufhin direkt die Wallpaper laden und benutzen.

 

Höhere Auflösung der Kontakte-Fotos

Mit Android 4.1 können die Fotos der Kontakte mit einer Auflösung von bis zu 720*720 abgelegt werden. Apps können jetzt Kontaktfotos in dieser Größe oder in einer kleineren benötigten Größe, speichern und laden. Die Maximalgröße die jeweils von den einzelnen Geräten unterstützt wird variiert natürlich. Deshalb sollte die App beim jeweiligen Prozess, den eingebauten Contacts-Provider abfragen, um die größtmögliche Auflösung des jeweiligen Gerätes zu beziehen.

 

leistungsfähige Eingabesteuerung: Anschließen und Entfernen von Peripherie erkennen

Apps können mit Android 4.1 Jelly Bean so programmiert werden, dass sie, sobald ein Gerät angeschlossen oder entfernt wird, dies registrieren. Das funktioniert für USB, Bluetooth, sowie auch für jedwede andere Art der Verbindung. Die App kann dann diese Information verwenden, um Statusanzeigen zu ändern, oder aber auch um effizientes Ressourcenmanagement zu betreiben. Z.B. kann ein Game die Info, dass ein neuer Controller oder Joystick angeschlossen wird, benutzen um einen neuen Spieler im Netzwerk anzumelden.

 

Abfrage der Eingabegeräte und deren Kapazitäten

Bei Jelly Bean gibt es APIs, welche den Apps die volle Bandbreite aller angeschlossenen Eingabegeräte, sowie deren Verfügbarkeit aufzeigen. Die App kann dann den Gerätemanager befragen, um die Anzahl aller angeschlossenen Geräte und deren spezifischen Potenziale zu erkennen.

 

Vibrationsmechanismus der Peripheriegeräte ansteuern

Zudem können Apps jetzt jegliche Vibrationsfunktionen, so wie sie z.B. von einem Rumble Pack zur Verfügung gestellt werden, ansteuern.

 

Animationen und Grafiken Vsync für Apps

Vsync für das Android Framework führt zu einer konstanteren Framerate und einem flüssigen und stabilen UI. Damit die Apps daraus auch Ihren Nutzen ziehen, wird das Vsync timing auf sämtliche Darstellungen und Animationen, die von den Apps initiiert werden, erweitert.

Die Apps können die Funktionen von vsync timing kostenlos über das Android Animation Framework beziehen. Das Framework benutzt nun das vsync timing, um die Synchronisierung der einzelnen Animators automatisch zu handhaben.

Bei der höheren Programmierung, können Apps jetzt das vsync timing über APIs mit einer neuen Choreographer-Klasse, ansteuern. Die App kann im Framework eine Invalidierung des nächsten vsync frames anfragen – ein guter Trick, um Animationen zu Terminieren, falls sie einmal nicht auf das Framework zurückgreifen muss. Bei fortgeschrittener Anwendung, kann die App einen Callback angeben, auf welchem die Choreographer-Klasse dann im nächsten Frame ausgeführt wird.

 

Neue Aktionen für Animationen und Überblendungen

Über das Animation Framework können jetzt ViewPropertyAnimator Start- und Endpunkt-Aktionen definiert werden, um diese dann einfacher mit anderen Animationen oder Aufgaben zeitlich zu koordinieren. Diese Aktion kann jegliches ausführbare Objekt starten. Zum Beispiel kann das aufgerufene Objekt eine weitere Animation starten, sobald die vorhergehende beendet ist.

Auch kann bei Android 4.1 Jelly Bean ein ViewPropertyAnimator definiert werden, der während des Durchlaufs einen Layer benutzt. Zuvor war es am einfachsten, komplizierte Ansichten zu animieren, indem vor dem Start einer Animation ein Layer eingerichtet wurde und diesen dann über ein onAnimationEnd() Event zu entfernen, sobald die Animation beendet wurde. Jetzt vereinfacht die withLayer() Methode am ViewPropertyAnimator diesen Prozess zu einem einzigen Method Call.

Ein neuer Überblendungs-Typ in der LayoutTransition, erlaubt automatisierte Animationen, entsprechend den Änderungen in der ViewGroup.

 

Neue Arten der Konnektivität 

Android Beam Android Beam ist die NFC-basierte Technologie, um zwei NFC-fähige Android Geräte miteinander kommunizieren zu lassen.

Bei Android 4.1 ist die Funktionalität von Beam dahingehend verbessert worden, dass bei der Datenübertragung jetzt auch Bluetooth mit zur Hilfe genommen wird, um Bilder, Videos oder andere datenlastige Files zu transferieren. Sobald der User einen Filetransfer initiiert, übergibt Android Beam einen Teil der Datenlast von NFC an Bluetooth, um somit größere Datenmengen schneller zwischen den Android Geräten auszutauschen.

 

Wi-Fi Netzwerkerkennung – DNS-SD

Bei Jelly Bean ist jetzt die sogenannte Multicast DNS-Based Service Discovery (DNS-SD) mit von der Partie. Dieser Service ermöglicht es Apps, verschiedene Netzwerke (Peers) zu finden und sich mit ihnen zu verbinden (mobile Geräte, Drucker, Kameras, Beamer, usw.). Android Entwickler können die Wi-Fi Netzwerkerkennung nutzen, um z.B. plattformübergreifende Apps oder Mehrspieler-Spiele zu programmieren.

Sobald die Netzwerkerkennungs API von Android 4.1 in Benutzung ist, können Apps jegliche Arten von Services, von anderen NSD-fähigen Geräten, finden und ansteuern. Die zur Verfügung stehenden Services werden per String-Identifier im gesamten Netzwerk angezeigt, so dass der User immer alle Verfügbaren Netze einsehen kann.

Sämtliche Endgeräte können die API benutzen um die kompletten Netze, die im lokalen Wi-Fi Netzwerk zur Verfügung stehen, zu scannen und zu finden. Nachdem ein Service gefunden ist, können Apps die API benutzen, um den Service einer IP-Adresse und einem Port zuzuweisen, und somit eine Socket Verbindung aufzubauen.

Diese API eröffnet ein breites Spektrum an Möglichkeiten. Zum Beispiel kann der User eine Webcam, einen Drucker oder auch eine App ansteuern, welche im Moment auf einem anderen, Wi-Fi fähigem Gerät läuft.

 

Wi-Fi Direct Erkennung weiterentwickelt

Bei Ice Cream Sandwich (Android 4.0) wurde Wi-Fi Direct eingeführt – eine Technologie mit denen Apps, verfügbare Peer-To-Peer Verbindungen erkennen, und sich unmittelbar über diese hohe Bandbreite zu pairen. Wi-Fi Direct ist sehr praktisch um Fotos, Files oder sonstige Daten und Sessions auszutauschen, selbst wenn kein Mobilfunkempfang oder Wi-Fi zur Verfügung steht.

Android 4.1 Jelly Bean erweitert Wi-Fi Direct um eine API für die sogenannte Pre-Associated Service Discovery. Pre-Associated Service Discovery ermöglicht es den Apps, sich schon vor Aufbau einer Verbindung, bestimmte Informationen über Geräte und deren möglichen Services einzuholen. Die Apps können dann diese Infos nach bestimmten Kriterien durchsuchen, um somit diejenigen herauszufiltern, die eine spezifische Funktion oder Applikation bereitstellen können.

Zum Beispiel könnte eine App alle Geräte finden welche Drucker sind, oder ein bestimmtes Spiel installiert haben, anstatt komplett alle verfügbaren Wi-Fi Direct Services abzuscannen. Andererseits kann eine App auch ihre eigenen Services oder Funktionen anzeigen, welche sie anderen Geräten offerieren kann. Dies vereinfacht das Finden und Pairen von Android Geräten enorm und bringt weitere Vorteile für Android Apps.

Mit Wi-Fi Direct Service Discovery können Android Apps und Mehrspieler Games entwickelt werden, die untereinander Fotos, Videos, Interaktionen, Spielstände oder nahezu alles andere miteinander austauschen können – alles ohne eine Internet-Verbindung oder Netzempfang. Die User können völlig unabhängig, über eine P2P (Peer-to-Peer) Verbindung, miteinander konnektieren, was auch wiederum Bandbreite einspart.

 

Bandbreiten-Management im Netzwerk

Jelly Bean hilft Apps dabei, ihr Datenübertragungsvolumen anzupassen, falls sich das Android Gerät in einem limitierten Netzwerk befindet oder beim Tetheren eines mobilen Hotspots. Die Apps können erfragen, ob es sich bei dem, zur Verfügung stehendem Netzwerk, um ein limitiertes Netzwerk handelt, bevor ein großer Download gestartet wird, um so den Benutzer vor hohen Kosten zu bewahren. Mit der neuen API können Android 4.1 Apps nun klar erkennen, ob ein Netzwerk sensibel auf hohe Datenmengen reagiert und Ihre Netzwerkaktivität entsprechend danach ausrichten.

 

Media Codec Zugriff

Android 4.1 ermöglicht low-level Zugriff zu Hard- oder Software-Codecs. Die Apps können in Jelly Bean das System befragen, um zu sehen, welche Low-Media-Codecs dem Gerät zur Verfügung stehen, um diese dann in der korrekten Art und Weise anzusteuern. Zum Beispiel können mehrere Fälle von Media-Codec-Input-Schleifen programmiert werden, um speziell darauf basierende Output-Schleifen zu erhalten. Zudem unterstützt das Media-Codec-Framework auch geschützten Content. Apps können ein, dem Gerät zur Verfügung stehendes DRM (Dongle) abfragen, um somit geschützten Content abzurufen.

 

USB Audio

Der USB Audiosupport schafft die Voraussetzungen für Hardwarehersteller, Peripheriegeräte wie z.B. Audio-Docks zu entwickeln, um sie mit dem Android Handheld zu koppeln. In Verbindung mit dieser Funktion gibt es das Open Accessory Development Kit (ADK), um allen Entwicklern die Möglichkeit zu geben, eigene Hardware für Android Geräte herzustellen.

 

Auslösen von Audioaufnahmen

Bei Android 4.1 können Audio-Aufnahmen abhängig von der Beendigung einer Wiedergabe ausgelöst werden. Nützlich ist das z.B. bei der Aufnahme einer Sprachnachricht: Erst nach dem Tonsignal beginnt der Benutzer mit seiner Audioaufnahme. Diese Funktion hilft dabei, die Aufnahme richtig zu timen. Auf diese Weise wird auch nichts aufgenommen, was im selben Moment abgespielt wird. Auch wird verhindert, dass der Benutzer zu spät mit seiner Aufnahme beginnt.

 

Multichannel Audio

Android 4.1 unterstützt Multichannel Audio bei Geräten, auf denen Multichannel Audio hardwareseits, über den HDMI Port bereitgestellt wird. Über Multichannel Audio lässt sich eine bessere Soundqualität für Spiele, Musik-Apps und Video-Apps erzielen. Bei Android Geräten, denen die erforderlichen Hardwarekapazitäten fehlen, mixt Android die Spuren automatisch auf die verfügbaren Kanäle herunter (im Normalfall: Stereo).

Zudem kann Android 4.1 jetzt auch AAC 5.1 Audiofiles kodieren und dekodieren.

 

Audio Verarbeitung

Android Entwickler können Vorverarbeitungseffekte auf eine Audio-Aufnahme legen. Dies kann eine Rauschunterdrückung für verbesserte Sprachqualität, Echo Eliminierung oder auch das Anpassen der Lautstärke bei schwankendem Lautstärkepegel sein. Apps, die eine hohe Audioqualität bei der Aufnahme benötigen, profitieren von dieser Funktion.

 

Verkettung von Audio-Files

Der Android 4.1 MediaPlayer ermöglicht das aneinanderreihen von Audio-Files, ohne Pause. Das ist nützlich für Apps, die nahtlose Übergänge von Musikstücken erfordern, wie z.B. Musikplayer oder auch Spiele-Apps, bei denen die Musik durchgängig abgespielt werden soll.

 

Zuweisung des Ausgabekanals

Die neuen APIs MediaRouter, MediaRouteActionProvider, und MediaRouteButton stellen standardisierte Mechanismen und UIs zur Disposition, um festzulegen wo genau die Audio-Ausgabe stattfinden soll. Standartmäßig unterstützt werden Kabel Headsets, a2dp Bluetooth Headsets, sowie die Lautsprecher. Auch können diese Optionen einzelnen Apps zugewiesen werden.

 

Der Internetbrowser von Android 4.1

Der AndroidBrowser und Web Views erhalten mit Android 4.1 Jelly Bean folgende Weiterentwicklungen:

• HTML5 Video mit Touch to Play/Pause und weichen Übergängen von Fenster- in den Vollbildschirm Modus

• Schnellere Rendering Geschwindigkeit und reduzierte Speicherbelastung für weicheres Scrolling und Zooming

• Verbesserte HTML5/CSS3/Canvas Animationen

• Flüssigere Texteingabe

• Neue JavaScript Engine (V8) für stärkere JavaScript Performance

• HTML5 Media Capture Specification Unterstützung (Das "capture" Attribut bei tnput type=file Elementen) Google APIs und Services 

 

 

Um die Leistungsfähigkeit von Android weiter voranzutreiben, gibt es einige neue Google Services:

Google Cloud Messaging für Android

Über Google Cloud Messaging (GCM) können Entwickler Kurznachrichten an die Benutzer von Android Geräten schicken, ohne dass eine proprietäre Sync benötigt wird.

Dabei werden alle Daten, bezüglich des Abarbeitens der einzelnen Mails sowie der Zustellung der Nachrichten von Googles Cloud Messaging Dienst übernommen. Hier kommt die sogenannte Multiplexing-(Multicasting)-Technologie zum Einsatz, welche mit nur einer Anweisung, eine Nachricht an bis zu 1000 Android Handhelds sendet. Auch können Message-Payloads definiert werden – Bis zu 4 KB Datenlast können an die Nachricht angehängt werden!

Google Cloud Messaging ist komplett kostenlos und Programmierer können sich einfach dafür registrieren. Informationen dazu gibt’s auf der Google Cloud Messaging Site.

 

Verschlüsselung von Apps

Ein neuer Service ab Android 4.1 Jelly Bean ist die Verschlüsselung von Apps. Google Play verschlüsselt alle kostenpflichtige Apps mit einem geräteabhängigen Code, um den App-Code vor fremden Augen zu schützen.

 

Smart Update für Apps bei Google Play

Smart App Update ist ebenfalls ein neues Feature von Google Play. Gesetzt den Fall, dass ein neues Update einer App in Google Play zum Download bereitsteht, wird jetzt nicht mehr die komplette apk geupdatet, sondern lediglich die veränderten Bits der App werden von Google Play geschickt. Dadurch werden die Updates in den allermeisten Fällen wesentlich kleiner, lassen sich folglich schneller downloaden. Dies schont den Akku, sowie die Bandbreitennutzung. Im Durchschnitt hat ein Smart Update dann nur noch 1/3 der Größe der eigentlichen apk!





Verwandte Artikel

Android Studio 2.0 Release – Android App Entwicklung
Android Programmierung - Entwickler finden oder Android Tutorial lesen
Android Programmierung - Entwickler zur App Programmierung finden
Android 3.1 Highlights - Honeycomb Android Mobile OS
Android 3.1 - Apps programmieren mit Android Honeycomb
Interesse an der Entwicklung von Android Apps lässt nach