Android 13: Features und Neuerungen für Entwickler

30.09.2022
Android 13 Android 13 ist die neueste Version des beliebten Android-Betriebssystems von Google für mobile Geräte. Diese Version stellt einen wichtigen Meilenstein in der Entwicklung der Plattform dar und führt mehrere neue Funktionen ein, die es App-Entwicklern erleichtern, hochwertige Anwendungen zu erstellen. Dieser Artikel geht auf diese Funktionen ein und erläutert, wie Entwickler sie nutzen können, um innovative Anwendungen zu erstellen.

Eines noch vorab: auch wenn die beliebten Dessertnamen von Android nun nicht mehr offiziell sind, so möchten wir doch diese schöne Namenskonvention beibehalten und denken uns nun immer, wenn wir das trockene "Android 13" lesen, noch ein leckeres "Tiramisu" dazu - das ist nämlich der interne Versionsname. In diesem Sinne viel Freude und guten Appetit mit den kommenden Features:

Besonders weitreichend und positiv dürften für Entwickler die Neuerungen sein, die Projekt Mainline mit sich bringen: die Art und Weise, wie auf APIs auf Geräten zugegriffen wird, auf denen die neueste Version des Betriebssystems läuft. Die Einführung von Project Mainline ermöglicht es Google, Updates direkt über Google Play bereitzustellen, wodurch die Fragmentierung zwischen den verschiedenen Versionen von Android-Geräten auf dem Markt deutlich verringert wird. Entwickler, die auf diese Version von Android abzielen, können schneller als je zuvor auf neuere APIs zugreifen, ohne sich um Kompatibilitätsprobleme zwischen verschiedenen Versionen von Android-Geräten, auf denen ihre Anwendungen laufen, kümmern zu müssen.

Der zweite grundlegend neue Punkt ist, dass Android 13 nun die (relativ) neue Programmiersprache Kotlin nun als first-citizen, also als Hauptsprache der Android Entwicklung führt. Sie soll der Android-Plattform eine moderne, prägnante Syntax und leistungsstarke Typinferenzfunktionen bieten. Die neuen API-Ebenen ermöglichen es Entwicklern außerdem, Apps mit effizienterem Code zu erstellen, der über mehrere Android-Versionen hinweg wiederverwendet werden kann. Darüber hinaus gibt es verbesserte Bibliotheken und Tools, die das Debuggen von Code und die Erkennung von Fehlern in Produktions-Builds erleichtern.

Das waren die zwei wichtigsten Punkte vorab - schauen wir uns jetzt ein paar Details zu Android 13 an.

Grafik: frischer Wind durch Android 13

Programmierbare Shader

Ab Android 13 bietet das System Unterstützung für programmierbare RuntimeShader-Objekte, deren Verhalten mit der Android Graphics Shading Language (AGSL) definiert wird. AGSL teilt einen Großteil seiner Syntax mit GLSL, arbeitet aber innerhalb der Android-Rendering-Engine, um das Malen innerhalb des Android-Canvas sowie das Filtern von Ansichtsinhalten anzupassen. Android verwendet diese Shader intern, um Ripple-Effekte, Unschärfe und Stretch-Overscroll zu implementieren. Mit Android 13 und höher können Sie ähnliche fortschrittliche Effekte für Ihre App erstellen.

Choreographer Verbesserungen

Android 13 führt öffentliche API-Methoden für Choreographer und ASurfaceControl ein, die Apps mehr Informationen über die möglichen Frame-Zeitleisten liefern und SurfaceFlinger mehr Kontext über den Frame-Lebenszyklus hinzufügen. Ähnlich wie zuvor können Anwendungen einen Rückruf an Choreographer senden und Informationen über die Frame-Zeitleiste erhalten. In Android 13 (API-Ebene 33) gibt Choreographer mehrere mögliche Präsentationszeiten und die entsprechenden Rahmenfristen zurück. Apps können die Präsentationszeit auswählen und SurfaceFlinger anschließend über die Auswahl informieren. SurfaceFlinger versucht dann nicht, Transaktionen anzuwenden oder Puffer vor der gewünschten Präsentationszeit zu halten.

Kamera: endmlich HDR Videoaufnahme mit Android 13

Ab Android 13 unterstützen die Camera2-APIs die HDR-Videoaufnahme (High Dynamic Range), mit der Sie HDR-Videoinhalte mit Ihrer Kamera in der Vorschau anzeigen und aufnehmen können. Im Vergleich zum Standard-Dynamikbereich (SDR) bietet HDR eine breitere Farbpalette und erhöht den Dynamikbereich der Luminanzkomponente (von derzeit 100 cd/m2 auf 1000e von cd/m2). Dies führt zu einer Videoqualität, die der Realität näher kommt, mit satteren Farben, helleren Lichtern und dunkleren Schatten.

Die verbesserten Medienwiedergabefunktionen in Android 13 bieten mehr Flexibilität bei der Integration von Videoinhalten in Anwendungen. Entwickler können nun Anwendungen mit Unterstützung für mehrere Videoformate erstellen, einschließlich HDR10+ für Displays mit hohem Dynamikbereich (HDR). Außerdem gibt es eine neue Medienwiedergabe-API, die den Umgang mit Audio- und Videostreams aus Online-Quellen erleichtert und es Entwicklern ermöglicht, schnell eigene Multimedia-Lösungen in ihre Projekte zu integrieren.

Android 13 Features für die Entwicklerproduktivität / Tools

API für Schnelleinstellungen

Die Schnelleinstellungen im Benachrichtigungsbereich sind eine bequeme Möglichkeit für Nutzer, Einstellungen zu ändern oder schnelle Aktionen durchzuführen, ohne den Kontext einer App zu verlassen. Für Apps, die benutzerdefinierte Kacheln bereitstellen, machen wir es den Nutzern einfacher, Ihre Kacheln zu entdecken und zu den Schnelleinstellungen hinzuzufügen. Mithilfe einer neuen API für die Platzierung von Kacheln kann Ihre App den Benutzer jetzt auffordern, Ihre benutzerdefinierte Kachel direkt zu den aktiven Schnelleinstellungen hinzuzufügen. Ein neuer Systemdialog ermöglicht es dem Benutzer, die Kachel in einem Schritt hinzuzufügen, ohne die App verlassen zu müssen, anstatt zu den Schnelleinstellungen zu gehen, um die Kachel hinzuzufügen.

Themenbezogene App Icons

Ab Android 13 können Sie sich für themenbezogene App-Symbole entscheiden. Mit dieser Funktion werden App-Symbole in unterstützten Android-Launchern so eingefärbt, dass sie die Farbgebung des vom Benutzer gewählten Hintergrundbildes und anderer Themen übernehmen. Um diese Funktion zu unterstützen, muss Ihre App sowohl ein adaptives Icon als auch ein einfarbiges App-Icon bereitstellen und über das -Element im Manifest auf das einfarbige App-Icon verweisen. Wenn ein Benutzer thematische App-Symbole aktiviert hat (d. h. die Option "Thematische Symbole" in den Systemeinstellungen aktiviert hat) und der Launcher diese Funktion unterstützt, verwendet das System die Farbgebung des vom Benutzer gewählten Hintergrundbilds und Themas, um die Farbtonfarbe zu bestimmen, die dann auf das monochrome App-Symbol angewendet wird. In einem der folgenden Szenarien wird auf dem Startbildschirm NICHT das thematische App-Symbol, sondern das adaptive oder Standard-App-Symbol angezeigt: Wenn der Benutzer keine themenbezogenen App-Symbole aktiviert hat Wenn Ihre App kein monochromes App-Symbol bereitstellt Wenn der Launcher keine themenbezogenen App-Symbole unterstützt Weitere Details und Anweisungen finden Sie unter Adaptive Symbole.

Vorschau der Zwischenablage

Ab Android 13 zeigt das System eine standardmäßige visuelle Bestätigung an, wenn Inhalte zur Zwischenablage hinzugefügt werden. Die neue Bestätigung hat die folgenden Funktionen: Bestätigt, dass der Inhalt erfolgreich kopiert wurde. Sie zeigt eine Vorschau des kopierten Inhalts an. Diese Funktion vereinheitlicht die verschiedenen Benachrichtigungen, die von Apps nach dem Kopieren angezeigt werden, und bietet den Benutzern mehr Kontrolle über ihre Zwischenablage. Weitere Informationen finden Sie auf der Seite zur Funktion Kopieren und Einfügen.

Bluetooth LE-Audio

Low Energy (LE) Audio ist ein drahtloses Audiosystem, das das klassische Bluetooth ersetzen und bestimmte Anwendungsfälle und Verbindungstopologien ermöglichen soll. Es ermöglicht Benutzern, ihre Audiodaten mit Freunden und Familie zu teilen und zu übertragen oder öffentliche Sendungen zu abonnieren, um Informationen, Unterhaltung oder Barrierefreiheit zu erhalten. Es wurde entwickelt, um sicherzustellen, dass die Benutzer High-Fidelity-Audio empfangen können, ohne die Akkulaufzeit zu beeinträchtigen, und nahtlos zwischen verschiedenen Anwendungsfällen wechseln können, die mit Bluetooth Classic nicht möglich sind. Ab Android 13 enthält das System integrierte Unterstützung für LE Audio, sodass Entwickler diese Funktionen auf kompatiblen Geräten kostenlos erhalten.

Spachbezogene Präferenzen

In vielen Fällen stellen mehrsprachige Benutzer ihre Systemsprache auf eine Sprache ein, z. B. Englisch, möchten aber für bestimmte Apps andere Sprachen auswählen, z. B. Niederländisch, Chinesisch oder Hindi. Damit Apps diesen Nutzern ein besseres Erlebnis bieten können, führt Android 13 die folgenden Funktionen für Apps ein, die mehrere Sprachen unterstützen:
  • Systemeinstellungen: Ein zentraler Ort, an dem Benutzer eine bevorzugte Sprache für jede App auswählen können. Ihre App muss das android:localeConfig-Attribut im Manifest Ihrer App deklarieren, um dem System mitzuteilen, dass sie mehrere Sprachen unterstützt. Weitere Informationen finden Sie in der Anleitung zum Erstellen einer Ressourcendatei und deren Deklaration in der Manifestdatei Ihrer App.
  • Zusätzliche APIs: Diese öffentlichen APIs, wie die Methoden setApplicationLocales() und getApplicationLocales() in LocaleManager, ermöglichen es Anwendungen, zur Laufzeit eine andere Sprache als die Systemsprache einzustellen.
    Diese APIs werden automatisch mit den Systemeinstellungen synchronisiert. Daher können Anwendungen, die diese APIs verwenden, um benutzerdefinierte In-App-Sprachauswahlen zu erstellen, sicherstellen, dass ihre Benutzer eine konsistente Benutzererfahrung haben, unabhängig davon, wo sie ihre Spracheinstellungen auswählen. Die öffentlichen APIs helfen Ihnen auch, die Menge an Boilerplate-Code zu reduzieren, sie unterstützen geteilte APKs und sie unterstützen Auto-Backup für Apps, um Benutzer-Spracheinstellungen auf App-Ebene zu speichern.
    Um die Abwärtskompatibilität mit früheren Android-Versionen zu gewährleisten, sind entsprechende APIs auch in AndroidX verfügbar. Wir empfehlen die Verwendung der APIs, die in Appcompat 1.6.0-beta01 oder höher hinzugefügt wurden.
Apps, die nicht mehrere Sprachen unterstützen, sind von diesen Änderungen nicht betroffen

Android 13 "under the hood": was tut sich im Hinblick auf Programmiersprachen

Die Unterstützung für nativen C/C++-Code wurde in dieser Version ebenfalls verbessert, so dass Entwickler, die in ihren Projekten lieber mit traditionellen Sprachen wie C/C++ als mit Java oder Kotlin arbeiten, Zugang zu Leistungsverbesserungen durch native Codekompilierung sowie zu besserer Sicherheit durch Sandboxing und Isolierung von anderen Prozessen auf Hardwareplattformen wie x86 oder ARM64 erhalten. Dies eröffnet neue Möglichkeiten für die plattformübergreifende Entwicklung mit C/C++-basierten Frameworks wie der Unreal Engine 4 oder der Godot Game Engine, die bisher nur schwer oder gar nicht möglich waren, da es nicht möglich war, optimierte Binärdateien zu kompilieren, die speziell auf die verschiedenen Hardware-Architekturen von Mobilgeräten ausgerichtet sind, auf denen verschiedene Versionen des Android-Betriebssystems laufen, die derzeit auf verschiedenen Märkten weltweit erhältlich sind.

Die Einführung der Vulkan-Grafik-APIs ermöglicht die Steuerung des Low-Level-Zugriffs auf Grafik-Hardware-Komponenten, die in modernen SoCs eingebettet sind, die in mobilen Geräten wie den Qualcomm-Prozessoren der Snapdragon 845/855/865-Serie verwendet werden, die heute die meisten Telefone von Samsung und anderen großen Herstellern antreiben. Durch dieses Feature-Set können Entwickler auf leistungsstarke Funktionen wie verzögerte Rendering-Pipelines zugreifen, die ihnen mehr Kontrolle darüber geben, wie sie 3D-Grafiken rendern und gleichzeitig ein hohes Leistungsniveau auf allen unterstützten Plattformen beibehalten, unabhängig davon, ob das Gerät von der ARM Mali G61 GPU angetrieben wird, die im Samsung Galaxy S9+ zu finden ist, oder von der ARM Mali G76 GPU, die im Apple iPhone Xs Max verwendet wird.

Für diejenigen, die Augmented-Reality-Erlebnisse mit den heute verfügbaren Technologien entwickeln möchten, wird ARCore SDK, das bisher nur auf Project Tango-fähigen Geräten verfügbar war, nun auch von der neuesten Implementierung unterstützt, die unter dem Namen "Pie" (API-Level 28) veröffentlicht wurde. Mit diesem Update gibt Google den Entwicklern die Möglichkeit, dieselben Softwarebibliotheken zu verwenden, um immersive 3D-Umgebungen zu erstellen, die in der Lage sind, Bewegungen und Orientierungsänderungen zu verfolgen, die vom Gerät des Benutzers vorgenommen werden, während es sich dreht und durch den physischen Raum bewegt, in dem sich der Benutzer gerade befindet, was es ihnen ermöglicht, virtuelle Objekte genau und realistisch in der realen Welt zu rendern,

Für App-Entwickler, die die vollständige Kontrolle über die Lebenszyklen ihrer Anwendungen haben möchten, Activity Lifecycle Management wurde als Teil der Kernfunktionen von Android 13 hinzugefügt - damit können Apps spezielle Hintergrundaufgaben ausführen, ohne sich Gedanken darüber machen zu müssen, wie sie pausieren, wenn sich der Fokus von der im Vordergrund befindlichen App-Instanz wegbewegt, die gerade auf dem Bildschirm des Handheld-Gerätes des Benutzers zu sehen ist. Ein solcher Aktivitäts-"Schlaf"-Modus hilft dabei, Energie zu sparen, wenn der Akku leer ist. Die Anwendung selbst verarbeitet auch dann noch Anfragen, wenn sie inaktiv ist.



Quellen: developer.android.com, OpenAI



Logge die ein, um mitzudiskutieren


Jetzt registrieren   |   Passwort vergessen?


Verwandte Artikel

Vergleich von Rankingfaktoren in den App Stores zu Rankingfaktoren in Suchmaschinen - ASO vs SEO
App Marketing & Publishing: Tipps für die Vermarktung einer (Gaming) App:
Wie erstelle ich eine eigene Website? Das müssen Sie wissen
ASO Guide: Apps erfolgreich vermarkten mit der richtigen Strategie im App Store
Was sind die Vorteile der Nutzung von Cloud-Speichersystemen?
Funktionieren Gaming Apps besser auf Android- oder iOS-Geräten?
Automatisierungs- und Beratungslösungen für Unternehmen: Wie man die Effizienz steigert und Kosten senkt
Apple öffnet sich für Drittanbieter-Stores
Das sind die Vorteile von Typo3
AI Bildgeneratoren oder die Revolution der Kreativbranche
Alles zum iPhone 14 Release - was wir bisher wissen
Apps privat entwickeln lassen
Apple Apps - per Festanstellung zu regelmäßigen Projekten
Apps für das ganze Leben und ein bisschen mehr