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