1page.title=ICU4J Android Framework API
2page.image=images/cards/card-nyc_2x.jpg
3
4@jd:body
5
6<div id="qv-wrapper">
7<div id="qv">
8<h2>Dalam dokumen ini:</h2>
9<ol>
10    <li><a href="#relation">Hubungan dengan ICU4J</a></li>
11    <li><a href="#migration">Migrasi ke android.icu API dari ICU4J </a></li>
12    <li><a href="#licence">Lisensi</a></li>
13</ol>
14
15<h2>Lihat Juga</h2>
16<ol>
17  <li>
18    <a class="external-link" href="http://userguide.icu-project.org">Dokumentasi untuk ICU4J</a>
19  </li>
20
21  <li>
22    <a class="external-link" href="http://site.icu-project.org/#TOC-What-is-ICU-">Standar terbaru yang didukung
23    oleh ICU4J</a>
24  </li>
25</ol>
26</div>
27</div>
28
29<p>
30  ICU4J merupakan serangkaian pustaka Java sumber terbuka yang banyak digunakan dan menyediakan Unicode
31  serta dukungan globalisasi untuk aplikasi perangkat lunak. Android N
32  mengekspos subset ICU4J API dalam kerangka kerja Android bagi pengembang aplikasi
33  untuk digunakan pada paket {@code android.icu}. API ini menggunakan
34  data pelokalan yang ada pada perangkat. Hasilnya, Anda bisa mengurangi footprint
35  APK dengan tidak mengompilasi pustaka ICU4J ke APK Anda; sebagai gantinya,
36  cukup memanggilnya dalam kerangka kerja. (Dalam hal ini, Anda mungkin perlu menyediakan
37  <a href="{@docRoot}google/play/publishing/multiple-apks.html">beberapa versi
38  APK Anda</a>, sehingga pengguna yang menjalankan versi Android lebih rendah dari Android N
39  bisa mengunduh versi aplikasi yang berisi pustaka ICU4J.)
40</p>
41
42<p>
43  Dokumen ini diawali dengan menyediakan beberapa informasi dasar tentang level Android API
44  minimum yang diperlukan untuk mendukung pustaka-pustaka ini. Kemudian dijelaskan tentang apa
45  yang perlu Anda ketahui tentang implementasi ICU4J spesifik Android. Terakhir,
46  Anda akan diberi tahu cara menggunakan ICU4J API dalam kerangka kerja Android.
47</p>
48
49<h2 id="relation">Hubungan dengan ICU4J</h2>
50
51<p>
52  Android N mengekspos subset ICU4J API lewat
53  paket <code>android.icu</code>, bukannya <code>com.ibm.icu</code>. Kerangka kerja
54  Android dapat memilih untuk tidak
55  mengekspos ICU4J API karena berbagai alasan; misalnya, Android N tidak mengekspos
56  beberapa API yang tidak digunakan lagi atau yang dinyatakan belum
57  stabil oleh tim ICU. Karena tim ICU tidak lagi menggunakan API di masa mendatang, Android juga akan menandainya
58  sebagai tidak digunakan lagi namun akan terus menyertakannya.
59</p>
60
61<p class="table-caption"><strong>Tabel 1.</strong> Versi ICU dan CLDR yang digunakan
62  di Android N.</p>
63<table>
64<tr>
65<th>Level Android API</th>
66<th>Versi ICU</th>
67<th>Versi 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>Inilah beberapa hal penting yang harus diperhatikan:</p>
77
78<ul>
79<li>ICU4J Android Framework API tidak menyertakan semua ICU4J API.</li>
80<li>Pengembang NDK harus mengetahui bahwa Android ICU4C tidak didukung.</li>
81<li>API dalam kerangka kerja Android tidak menggantikan dukungan Android untuk
82<a href="{@docRoot}guide/topics/resources/localization.html">melokalkan dengan
83sumber daya</a>.</li>
84</ul>
85
86<h2 id="migration">Migrasi ke paket android.icu dari com.ibm.icu</h2>
87
88<p>
89  Jika Anda sudah menggunakan ICU4J API dalam aplikasi, dan
90  <code>android.icu</code> API memenuhi persyaratan Anda, maka migrasi ke
91  API kerangka kerja mengharuskan Anda untuk mengubah impor Java
92  dari <code>com.ibm.icu</code> ke <code>android.icu</code>. Kemudian Anda bisa
93  membuang salinan file ICU4J dari APK.
94</p>
95
96<p class="note">
97  <b>Catatan</b>: API kerangka kerja ICU4J menggunakan ruang nama {@code android.icu}
98  sebagai ganti {@code com.ibm.icu}. Hal ini untuk menghindari konflik
99  ruang nama di APK yang berisi pustaka {@code com.ibm.icu} sendiri.
100</p>
101
102<h3 id="migrate-from-android">
103  Migrasi ke API android.icu dari Android SDK API lainnya
104</h3>
105
106<p>
107  Beberapa kelas dalam paket <code>java</code> dan <code>android</code> memiliki
108  padanannya dengan yang ditemukan di ICU4J. Akan tetapi, ICU4J seringkali menyediakan dukungan
109  yang lebih luas untuk standar dan bahasa.
110</p>
111<p>Inilah beberapa contoh untuk membantu Anda memulai:</p>
112<table>
113<tr>
114<th>Kelas</th>
115<th>Alternatif</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">Lisensi</h2>
155
156<p>
157  ICU4J dirilis dengan lisensi ICU. Untuk detailnya, lihat <a class="external-link" href="http://userguide.icu-project.org/icufaq#TOC-How-is-the-ICU-licensed-">Panduan Pengguna
158  ICU.</a>
159</p>
160