• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1page.title=ICU4J Android Framework APIs
2page.image=images/cards/card-nyc_2x.jpg
3
4@jd:body
5
6<div id="qv-wrapper">
7<div id="qv">
8<h2>Neste documento:</h2>
9<ol>
10    <li><a href="#relation">Relação com o ICU4J</a></li>
11    <li><a href="#migration">Migrar para APIs android.icu do ICU4J </a></li>
12    <li><a href="#licence">Licenciamento</a></li>
13</ol>
14
15<h2>Veja também</h2>
16<ol>
17  <li>
18    <a class="external-link" href="http://userguide.icu-project.org">Documentação para ICU4J</a>
19  </li>
20
21  <li>
22    <a class="external-link" href="http://site.icu-project.org/#TOC-What-is-ICU-">Últimos padrões com suporte
23 do ICU4J</a>
24  </li>
25</ol>
26</div>
27</div>
28
29<p>
30  O ICU4J é um conjunto de bibliotecas Java de código aberto e amplamente usadas que fornecem suporte para Unicode
31 e globalização para aplicativos de software. O Android N
32 expõe um subconjunto de APIs do ICU4J na estrutura do Android para uso dos desenvolvedores de aplicativos
33 no pacote {@code android.icu}. Essas APIs usam
34 dados de localização presentes no dispositivo. Consequentemente, você pode reduzir o uso de APK
35 ao não compilar as bibliotecas do ICU4J no seu APK. Em vez disso, pode
36 simplesmente chamá-las na estrutura. (Neste caso, pode ser conveniente fornecer
37 <a href="{@docRoot}google/play/publishing/multiple-apks.html">várias versões
38 do seu APK</a> para que os usuários que tenham versões inferiores ao Android N
39 possam fazer o download de uma versão do aplicativo que contenha as bibliotecas do ICU4J.)
40</p>
41
42<p>
43  Este documento começa fornecendo informações básicas sobre os níveis mínimos da
44 Android API necessários para oferecer suporte a essas bibliotecas. Em seguida, ele explica o que
45 você deve saber sobre a implementação do ICU4J específica do Android. Por fim,
46 ele informa como usar as APIs do ICU4J na estrutura do Android.
47</p>
48
49<h2 id="relation">Relação com o ICU4J</h2>
50
51<p>
52  O Android N expõe um subconjunto de APIs do ICU4J por meio do pacote
53 <code>android.icu</code>, não do <code>com.ibm.icu</code>. A
54 estrutura do Android pode optar por não
55 expor as APIs do ICU4J por diversos motivos. Por exemplo, o Android N não expõe
56 algumas APIs obsoletas ou que a equipe do ICU ainda não declarou como
57 estáveis. Conforme a equipe do ICU torna APIs obsoletas, o Android também as marcará
58 como obsoletas, mas continuará incluindo-as.
59</p>
60
61<p class="table-caption"><strong>Tabela 1.</strong> Versões ICU e CLDR usadas
62 no Android N.</p>
63<table>
64<tr>
65<th>Nível da Android API</th>
66<th>Versão ICU</th>
67<th>Versão CLDR</th>
68</tr>
69<tr>
70<td>Android N</td>
71<td>56</td>
72<td>28</td>
73</tr>
74</table>
75
76<p>Algumas observações importantes:</p>
77
78<ul>
79<li>As APIs de estrutura do Android para ICU4J não incluem todas as APIs do ICU4J.</li>
80<li>Desenvolvedores de NDK devem saber que o Android ICU4C não é compatível.</li>
81<li>As APIs da estrutura do Android não substituem o suporte do Android para a
82<a href="{@docRoot}guide/topics/resources/localization.html">localização com
83recursos</a>.</li>
84</ul>
85
86<h2 id="migration">Migrar do pacote com.ibm.icu para o android.icu</h2>
87
88<p>
89  Se você já estiver usando as APIs do ICU4J no seu aplicativo e as APIs
90 <code>android.icu</code> atenderem aos seus requisitos, a migração para
91 as APIs de estrutura exigirão que você altere as importações Java
92 de <code>com.ibm.icu</code> para <code>android.icu</code>. Você, então, poderá
93 remover sua própria cópia dos arquivos do ICU4J do APK.
94</p>
95
96<p class="note">
97  <b>Observação</b>: As APIs de estrutura do ICU4J usam o namespace {@code android.icu}
98 em vez de {@code com.ibm.icu}. Isso ocorre para evitar conflitos
99 de namespace em APKs que contêm as próprias bibliotecas {@code com.ibm.icu}.
100</p>
101
102<h3 id="migrate-from-android">
103  Migrar para APIs android.icu de outras APIs do Android SDK
104</h3>
105
106<p>
107  Algumas classes dos pacotes <code>java</code> e <code>android</code> têm
108 equivalentes para as encontradas no ICU4J. No entanto, o ICU4J frequentemente fornece um suporte
109 mais amplo para padrões e linguagens.
110</p>
111<p>Alguns exemplos para você começar:</p>
112<table>
113<tr>
114<th>Classe</th>
115<th>Alternativas</th>
116</tr>
117<tr>
118<td><code>java.lang.Character</code> </td>
119<td><code>android.icu.lang.UCharacter</code> </td>
120</tr>
121<tr>
122<td><code>java.text.BreakIterator</code> </td>
123<td><code>android.icu.text.BreakIterator</code> </td>
124</tr>
125<tr>
126<td><code>java.text.DecimalFormat</code> </td>
127<td><code>android.icu.text.DecimalFormat</code> </td>
128</tr>
129<tr>
130<td><code>java.util.Calendar</code></td>
131<td>
132<code>android.icu.util.Calendar</code></td>
133</tr>
134<tr>
135<td><code>android.text.BidiFormatter</code>
136 </td>
137<td><code>android.icu.text.Bidi</code>
138 </td>
139</tr>
140<tr>
141<td><code>android.text.format.DateFormat</code>
142 </td>
143<td><code>android.icu.text.DateFormat</code>
144 </td>
145</tr>
146<tr>
147<td><code>android.text.format.DateUtils</code> </td>
148<td><code>android.icu.text.DateFormat</code>
149<code>android.icu.text.RelativeDateTimeFormatter</code>
150</td>
151</tr>
152</table>
153
154<h2 id="licence">Licenciamento</h2>
155
156<p>
157  O ICU4J é liberado sob a licença do ICU. Para saber mais, consulte o <a class="external-link" href="http://userguide.icu-project.org/icufaq#TOC-How-is-the-ICU-licensed-">Guia do usuário do
158 ICU.</a>
159</p>
160