2016-08-06 6 views
13

Habe neue Pakete in Android SDK-Dokumenten gesehen. Alle von ihnen sind in der API-Ebene 24 verfügbar, die Android Nougat entspricht und scheinen die 'java.xxx' Pakete durch 'android.icu.xxx' zu ersetzen. Zum Beispiel:Wofür steht "ICU" im Android SDK?

Das java.text.DateFormat Paket wird in android.icu.text.DateFormat dupliziert und so weiter

Auch in einigen icu Klassen erscheint die folgende Anmerkung:

[ICU-Erweiterung] ICU-Ersatz für (Klassenname). Methoden, Felder und andere ICU-spezifische Funktionen sind mit "[icu]" gekennzeichnet.

Wofür steht ICU? Und was sind Unterschiede zwischen Java und Android.icu Paketen? Werden Java-Pakete bald veraltet sein?

+0

[International Components for Unicode] (https://developer.android.com/preview/features/icu4j-framework.html) –

+0

diese Bibliothek sei [ziemlich groß] (http://stackoverflow.com/q/28241755/3681880), um in dein Projekt Pre-API 24 aufzunehmen. – Suragch

Antwort

16

This erklärt den Begriff icu ziemlich gut. Sie haben dies im Grunde für die späteren APIs eingeführt, um "Ihren APK-Fußabdruck zu reduzieren". Ich denke nicht, dass die ICU ein Ersatz für die java.*.* Bibliotheken ist, sondern nur eine Alternative zu verwenden. Es gibt auch eine interessante Sache auf dieser Seite:

Da das ICU-Team APIs in der Zukunft nicht mehr unterstützt, wird Android sie auch als veraltet markieren, sie jedoch weiterhin enthalten.

Here ist auch eine kleine Liste von Funktionen über ICU4J, die sehr hilfreich ist.