page.title=API de ICU4J en el framework de Android page.image=images/cards/card-nyc_2x.jpg @jd:body

En este documento:

  1. Relación con ICU4J
  2. Migración hacia API de android.icu desde ICU4J
  3. Licencias

Consulta también

  1. Documentación para ICU4J
  2. Últimos estándares compatibles con ICU4J

ICU4J es un conjunto de bibliotecas de Java de código abierto y amplio uso que brinda soporte de Unicode y de globalización para aplicaciones de software. Android N expone un subconjunto de las API de ICU4J en el framework de Android para que los desarrolladores de aplicaciones lo usen debajo del paquete {@code android.icu}. Estas API usan datos de ubicación que están presentes en el dispositivo. Como resultado, puedes reducir la superficie de APK evitando la compilación de las bibliotecas de ICU4J en APK. En lugar de esto, puedes llamarlas en el framework. (En este caso, posiblemente debas brindar versiones múltiples del APK, de modo que los usuarios que usan versiones de Android inferiores a Android N puedan descargar una versión de la aplicación que incluya las bibliotecas de ICU4J).

Al principio de este documento, encontrarás información básica sobre el mínimo de niveles de Android API necesarios para soportar estas bibliotecas. Más adelante, encontrarás explicaciones sobre qué necesitas saber acerca de la implementación de ICU4J específica para Android. Por último, encontrarás explicaciones sobre cómo usar las API de ICU4J en el framework de Android.

Relación con ICU4J

Android N expone un subconjunto de las API de ICU4J mediante el paquete android.icu, en lugar de com.ibm.icu. El framework de Android puede elegir no exponer las API de ICU4J por varias razones; por ejemplo, Android N no expone algunas API obsoletas o algunas que el equipo de ICU aún no ha declarado como estables. A medida que el equipo de ICU deje de usar API en el futuro, Android también las marcará como obsoletas, pero las seguirá incluyendo.

Tabla 1. Versiones de ICU y CLDR usadas en Android N.

Nivel de Android API Versión de ICU Versión de CLDR
Android N 56 28

Debes tener en cuenta lo siguiente:

Migración hacia el paquete android.icu desde com.ibm.icu

Si ya estás usando las API de ICU4J en tu aplicación y las API de android.icu cumplen con tus requisitos, migrar hacia las API del framework implicará que cambies tus importaciones de Java de com.ibm.icu a android.icu. Luego, puedes quitar tu propia copia de los archivos de ICU4J del APK.

Nota: Las API del framework de ICU4J usan el espacio de nombres {@code android.icu} en lugar de {@code com.ibm.icu}. El motivo de esto es evitar conflictos de espacio de nombres en APK que contienen sus propias bibliotecas de {@code com.ibm.icu}.

Migración hacia API de android.icu desde otras Android SDK API

Algunas clases de los paquetes de java y de android son equivalentes a las clases de ICU4J. Sin embargo, ICU4J a menudo brinda una compatibilidad más amplia para estándares e idiomas.

Aquí tienes algunos ejemplos para comenzar:

Clase Alternativa
java.lang.Character android.icu.lang.UCharacter
java.text.BreakIterator android.icu.text.BreakIterator
java.text.DecimalFormat android.icu.text.DecimalFormat
java.util.Calendar android.icu.util.Calendar
android.text.BidiFormatter android.icu.text.Bidi
android.text.format.DateFormat android.icu.text.DateFormat
android.text.format.DateUtils android.icu.text.DateFormat android.icu.text.RelativeDateTimeFormatter

Licencias

ICU4J se presenta bajo la licencia de ICU. Para obtener información más detallada, consulta la Guía de usuario de ICU.