Java >> Java Tutorial >  >> Java

Android 4.1 (Jelly Bean) für Entwickler

Jelly Bean mag eine kleine Punktveröffentlichung auf dem Android-Kontinuum sein, aber es mangelt nicht an Funktionen, die native Android-App-Entwickler, Entwickler für mobiles Web oder NDK-Entwickler kennen sollten. Lauren Darcy und Shane Conder schlagen vor, dass Sie diese Flitterwochen nutzen, bevor Benutzer Jelly Bean in die Hände bekommen, um sich mit den neuen Android-Tools und SDK-Funktionen vertraut zu machen.

Für einige war die Veröffentlichung von Jelly Bean (Android 4.1) auf der Google I/O eine Überraschung. Als Nebenversion von Ice Cream Sandwich (Android 4.0) gibt es nicht so viele neue Funktionen für Entwickler, aber aus Leistungssicht gibt es viele Verbesserungen auf Benutzerebene. Dennoch ist es gut zu überprüfen, welche Bereiche des Android SDK geändert wurden, und sicherzustellen, dass Ihre Apps genauso gut oder besser funktionieren als vor dem Update.

(Bilder © 2012 Google)

Projekt Butter steht im Mittelpunkt

Das Android-Team hat in den letzten Versionen viel Mühe investiert, um sich auf die Verbesserung der Benutzererfahrung auf der gesamten Plattform zu konzentrieren. Dies bedeutet weniger neue Funktionen, aber Verbesserungen bestehender Funktionen in Bezug auf Leistung, Reaktionsfähigkeit, Zuverlässigkeit und visuelle Attraktivität. In vielen Fällen müssen App-Entwickler, wenn überhaupt, nicht viel tun, um diese neuen Funktionen zu nutzen, im Gegensatz zu einigen früheren Updates wie der Hardwarebeschleunigung, bei denen der Entwickler möglicherweise kleinere Änderungen vornehmen und seine Apps neu erstellen musste.

Die Jelly Bean-Version konzentriert sich weiterhin auf die Verbesserung der Benutzererfahrung mit der Plattform. Die Android-Plattform mit dem Spitznamen Project Butter hat von Verbesserungen wie diesen profitiert:

  •   Grafische Timing-Verbesserungen (einfach gesagt, viel mehr vom System wird mit den Neuzeichnungen des Bildschirms synchronisiert)
  •   Vorausschauende Berührung (anstatt zu der Stelle zu scrollen, an der sich Ihr Finger beim Neuzeichnen des Bildschirms befunden hat, wird dorthin gescrollt, wo Ihr Finger Ihrer Meinung nach sein wird, wenn der Bildschirm tatsächlich angezeigt wird)
  •   Verbesserte Tools, um Stellen in Apps zu finden, an denen Verbesserungen vorgenommen werden können (vermutlich hat das Android-Team diese neuen Tools auch für integrierte Apps verwendet, um sie viel flüssiger und reaktionsschneller zu machen)

Zusammen bieten diese Verbesserungen den Benutzern eine schnelle, reaktionsschnelle und butterweiche Erfahrung, die sie von modernen Geräten erwarten.

Viele der Leistungsverbesserungen wurden plattformübergreifend angewendet und erfordern keine Aktualisierung der Apps durch Entwickler. Allerdings hat Google deutlich gemacht, dass Entwickler nicht davon ausgehen sollten, dass sie einfach eine App schreiben, veröffentlichen und dann vergessen können.

Sie erwarten, dass Entwickler ihre Apps routinemäßig und konsequent aktualisieren, wenn neue Versionen der Plattform veröffentlicht werden. Mit anderen Worten, sie möchten, dass Entwickler-Apps von Drittanbietern gewartet und verbessert werden, und mit der neuen Jelly Bean-Version gibt es viele Möglichkeiten, dies zu tun.

Muss ich meine nativen Android-Apps aktualisieren?

Das ist die eigentliche Frage, die Sie sich stellen, richtig? Muss ich meine App aktualisieren? Wird diese Version meine App beschädigen? Normalerweise lautet die Antwort, dass Sie Ihre Apps nur dann aktualisieren müssen, wenn Sie dies möchten. Das Android-Team versucht, neue Plattformversionen mit Legacy-Apps kompatibel zu machen (im Rahmen des Zumutbaren).

Es ist jedoch immer eine gute Idee, diese Zeit zu nutzen, bevor Benutzer die neue Jelly Bean-Version erhalten, um sicherzustellen, dass Ihre Apps auf der aktualisierten Plattform gut funktionieren.

Hier sind einige Bereiche, auf die Sie in Ihren Apps besonders achten sollten, da die APIs einige bedeutende Änderungen erfahren haben:

  •   Wenn Ihre App Benachrichtigungen verwendet, sollten Sie wissen, dass die Benachrichtigungsleiste und der Bereich für Benachrichtigungen mit mehr Funktionen erheblich verbessert wurden. Sehen Sie sich den Notification.Builder an Klasse (android.app.Notification.Builder ) für weitere Einzelheiten darüber, wie Sie verschiedene Arten von Benachrichtigungen mit mehreren Aktionen und unterschiedlichen Prioritäten erstellen können. Sie können auch komplexere Steuerelemente wie Grafiken und GridLayout einbinden in Ihren Benachrichtigungen.
  •   Wenn Ihre App App-Widgets enthält, wurde auch dieser Bereich des SDK verbessert. Neue Steuerelemente wie GridLayout und ViewStub kann jetzt in App-Widgets verwendet werden. App-Widgets passen ihre Größe automatisch an, je nachdem, wo sie platziert werden. Der App-Widget-Host bestimmt die Layoutfunktionen des App-Widgets und kann den Inhalt basierend auf der Größe und Ausrichtung des verfügbaren Platzes anpassen. Siehe Klassen wie AppWidgetHostView (android.appwidget.AppWidgetHostView ) für Updates.
  •   Wenn Ihre App den Cloud-to-Device Messaging-Dienst (C2DM) von Google nutzt, ist dieser Dienst veraltet und Sie müssen zum neuen Google Cloud Messaging-Dienst (GCM) migrieren. Weitere Informationen zum GCM-Dienst finden Sie hier:http://developer.android.com/guide/google/gcm/index.html
  •   Wenn Ihre Anwendung die Support-Bibliothek (auch bekannt als Kompatibilitätspaket) für die Abwärtskompatibilität nutzt, sollten Sie sich darüber im Klaren sein, dass im Juni zusammen mit den Jelly Bean SDK-Updates eine neue Revision (Revision 9) veröffentlicht wurde. Bestimmte Jelly Bean-Funktionen wurden in das Paket aufgenommen, zusammen mit vielen Fehlerkorrekturen für vorhandene Funktionen der Support-Bibliothek.
  •   Wenn Ihre Anwendung Renderscript verwendet, finden Sie auch in diesem Bereich neue Funktionen. Sie können jetzt auch Ihre Renderscript-Skripte debuggen.
  •   Wenn Ihre Anwendung NFC (Android Beam) verwendet, wurde diese Technologie in Android 4.1 verbessert, um die Bluetooth-Datenübertragung zu ermöglichen – eine Schlüsselfunktion, auf die Entwickler gewartet haben.
  •   Wenn Ihre Anwendung Wi-Fi-APIs verwendet, wurden auch in diesem Bereich zahlreiche Verbesserungen vorgenommen. Android 4.1 umfasst sowohl eine DNS-basierte Multicast-Diensterkennung als auch eine verbesserte Unterstützung für die vorab zugeordnete Diensterkennung von Wi-Fi Direct. Diese Funktionen vereinfachen die Wi-Fi-Konnektivität erheblich.
  •   Wenn Ihre App aus mehreren Aktivitätsklassen besteht, durch die der Benutzer wechselt, sollten Sie sich wahrscheinlich die verbesserte Navigationsunterstützung ansehen, die in Jelly Bean hinzugefügt wurde, um die „Nach oben“-Navigation über ein neues XML-Attribut namens android:parentActivityName zu handhaben. Eine allgemeinere Erläuterung der Navigationsrichtlinien „Zurück“ und „Nach oben“ finden Sie auf der Android Design-Website unter http://developer.android.com/design/patterns/navigation.html
  •   Wenn Ihre App auf andere Eingabegeräte angewiesen ist, kann sie Verbindungsereignisse von Eingabegeräten registrieren und deren Funktionen abfragen, die mit den Geräten des Nutzers verbunden sind. Dies ist besonders nützlich für Spiele, die externe Gamepads unterstützen.
  •   Wenn Sie eine benutzerdefinierte Ansicht verwenden Steuerelemente in Ihrer App, ist dies immer ein Bereich, den Sie überprüfen sollten, wenn neue Android SDK-Versionen veröffentlicht werden. Jelly Bean enthält zahlreiche Änderungen am Barrierefreiheits-Framework, die sich auf View auswirken Komponenten, daher sollten Sie Ihre benutzerdefinierte Ansicht überprüfen Steuerelemente, um sicherzustellen, dass sie mit den verbesserten Funktionen des Barrierefreiheits-Frameworks kompatibel sind, die automatisch in der standardmäßigen Ansicht verfügbar sein werden Kontrollen.
  •   Wenn Ihre App datenzentriert ist, sollten Sie sich die Verbesserungen an der Bandbreitenverwaltung des App-Netzwerks ansehen. Entwickler können jetzt programmgesteuert prüfen, ob der Benutzer mit isActiveNetworkMetered() mit einem getakteten Netzwerk verbunden ist oder nicht Methode des ConnectivityManager Klasse, bevor Sie datenintensive Operationen einleiten, die den Benutzer kosten könnten. Beachten Sie, dass diese Funktion aus Gründen der Abwärtskompatibilität auch in die neueste Support-Bibliothek aufgenommen wurde.
  •   Wenn Ihre App über Live-Hintergründe verfügt, gibt es eine verbesserte Methode zum Arbeiten mit Hintergrundvorschauen. Siehe WallpaperManager Klasse (android.app.WallpaperManager ) für Details.
  •   Aus Verlagssicht hat die Plattform die Internationalisierungsunterstützung für nicht-romanische Sprachen verbessert. Wenn Ihre App für arabische, hebräische und asiatische Zielgruppen geeignet ist, sollten Sie Ihre Benutzeroberfläche überprüfen und mit dem Verkauf an diese Länder beginnen. Beispielsweise können Benutzer jetzt Text in TextView manipulieren und Text bearbeiten steuert bidirektional (von links nach rechts oder von rechts nach links) und die WebView unterstützt vertikalen Text wie Japanisch. Es gibt auch Unterstützung für benutzerdefinierte Tastaturbelegungen für verschiedene Typen internationaler Tastaturen.
  •   Wenn Ihre App Audio wiedergibt, das von der Mehrkanalausgabe profitieren kann, sollte sie mit der neu hinzugefügten Unterstützung in Android 4.1 für die 5.1-Audioausgabe aktualisiert werden (verfügbar auf Geräten, die dies unterstützen). Und Sie müssen sich keine Sorgen um Hardware machen, die dies nicht unterstützt; die Ausgabe wird nach Bedarf heruntergemischt. Es sind mehrere andere Audioverbesserungen verfügbar, die das Audioerlebnis butterweicher machen. Beispielsweise kann das Beenden der Audiowiedergabe die Audioaufzeichnung für eine nahtlose Aufnahmeaufforderung auslösen, Audiodateien können für die nahtlose Wiedergabe verknüpfter Spuren verkettet werden, und die Audiovorverarbeitung ist jetzt verfügbar.

Muss ich meine Web-Apps aktualisieren?

Wenn Sie eine Web-App haben, die auf Android-Geräte abzielt, sollten Sie auch eine Plausibilitätsprüfung durchführen. Es gibt eine Reihe von Android-Browsern und Webview Updates, die Apps betreffen, die HTML5, CSS3 und JavaScript nutzen. Darüber hinaus werden Geräte jetzt mit Chrome für Android als Standard-Webbrowser ausgeliefert.

Wenn Sie Flash in Ihren Webanwendungen verwenden, ist es an der Zeit, entweder zu einer reinen Flash-Lösung mit Adobe AIR zu wechseln oder Flash vollständig zugunsten anderer Technologien wie HTML5 fallen zu lassen. Adobe hat angekündigt, das Flash-Browser-Plug-in auf Android 4.1 und höher nicht zu unterstützen. Beachten Sie auch, dass Chrome für Android das Flash-Browser-Plug-in nicht unterstützt.


Java-Tag