page.title=ICU4J Android Framework APIs page.image=images/cards/card-nyc_2x.jpg @jd:body

Neste documento:

  1. Relação com o ICU4J
  2. Migrar para APIs android.icu do ICU4J
  3. Licenciamento

Veja também

  1. Documentação para ICU4J
  2. Últimos padrões com suporte do ICU4J

O ICU4J é um conjunto de bibliotecas Java de código aberto e amplamente usadas que fornecem suporte para Unicode e globalização para aplicativos de software. O Android N expõe um subconjunto de APIs do ICU4J na estrutura do Android para uso dos desenvolvedores de aplicativos no pacote {@code android.icu}. Essas APIs usam dados de localização presentes no dispositivo. Consequentemente, você pode reduzir o uso de APK ao não compilar as bibliotecas do ICU4J no seu APK. Em vez disso, pode simplesmente chamá-las na estrutura. (Neste caso, pode ser conveniente fornecer várias versões do seu APK para que os usuários que tenham versões inferiores ao Android N possam fazer o download de uma versão do aplicativo que contenha as bibliotecas do ICU4J.)

Este documento começa fornecendo informações básicas sobre os níveis mínimos da Android API necessários para oferecer suporte a essas bibliotecas. Em seguida, ele explica o que você deve saber sobre a implementação do ICU4J específica do Android. Por fim, ele informa como usar as APIs do ICU4J na estrutura do Android.

Relação com o ICU4J

O Android N expõe um subconjunto de APIs do ICU4J por meio do pacote android.icu, não do com.ibm.icu. A estrutura do Android pode optar por não expor as APIs do ICU4J por diversos motivos. Por exemplo, o Android N não expõe algumas APIs obsoletas ou que a equipe do ICU ainda não declarou como estáveis. Conforme a equipe do ICU torna APIs obsoletas, o Android também as marcará como obsoletas, mas continuará incluindo-as.

Tabela 1. Versões ICU e CLDR usadas no Android N.

Nível da Android API Versão ICU Versão CLDR
Android N 56 28

Algumas observações importantes:

Migrar do pacote com.ibm.icu para o android.icu

Se você já estiver usando as APIs do ICU4J no seu aplicativo e as APIs android.icu atenderem aos seus requisitos, a migração para as APIs de estrutura exigirão que você altere as importações Java de com.ibm.icu para android.icu. Você, então, poderá remover sua própria cópia dos arquivos do ICU4J do APK.

Observação: As APIs de estrutura do ICU4J usam o namespace {@code android.icu} em vez de {@code com.ibm.icu}. Isso ocorre para evitar conflitos de namespace em APKs que contêm as próprias bibliotecas {@code com.ibm.icu}.

Migrar para APIs android.icu de outras APIs do Android SDK

Algumas classes dos pacotes java e android têm equivalentes para as encontradas no ICU4J. No entanto, o ICU4J frequentemente fornece um suporte mais amplo para padrões e linguagens.

Alguns exemplos para você começar:

Classe Alternativas
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

Licenciamento

O ICU4J é liberado sob a licença do ICU. Para saber mais, consulte o Guia do usuário do ICU.