blob: ffb57994a88150d88061c0f6c17fc00dcc2df449 [file] [log] [blame]
page.title=API Khuôn kh Android ICU4J
page.tags=androidn
page.image=images/cards/card-nyc_2x.jpg
@jd:body
<div id="qv-wrapper">
<div id="qv">
<h2>Trong tài liu này:</h2>
<ol>
<li><a href="#relation">Liên quan đến ICU4J</a></li>
<li><a href="#migration">Chuyn nhp t ICU4J sang API android.icu</a></li>
<li><a href="#licence">Cp phép</a></li>
</ol>
<h2>Xem thêm</h2>
<ol>
<li>
<a class="external-link" href="http://userguide.icu-project.org">Tài liu cho ICU4J</a>
</li>
<li>
<a class="external-link" href="http://site.icu-project.org/#TOC-What-is-ICU-">Các tiêu chun mi nht được ICU4J
h trợ</a>
</li>
</ol>
</div>
</div>
<p>
ICU4J là b thư vin Java mã ngun m được s dng rng rãi để cung cp h tr Unicode
và toàn cu hóa cho các ng dng phn mm. Android N
cung cp mt tp nh các API ICU4J trong khuôn kh Android cho các nhà phát trin ng dng
s dng trong gói {@code android.icu}. Các API này s dng
d liu bn địa hóa có trong thiết bị. Do đó, bn có th gim kích thước tp APK
bng cách không biên dch các thư vin ICU4J vào tp APK; thay vào đó bn có th
gi chúng trong khuôn kh mt cách đơn gin. (Trong trường hp này, bn có th mun cung cp
<a href="{@docRoot}google/play/publishing/multiple-apks.html">nhiu phiên bn
tp APK</a> để nhng người dùng chy phiên bn Android thp hơn Android N
có th ti phiên bn ng dng có cha các thư vin ICU4J.)
</p>
<p>
Tài liu này s bt đầu bng vic cung cp thông tin cơ bn v các mc Android API
ti thiu cn để h tr các thư vin này. Sau đó tài liu s gii thích nhng gì
bn cn để hiu được công vic trin khai ICU4J liên quan c th đến Android. Cui cùng,
tài liu s cho bn biết cách s dng các API ICU4J trong khuôn kh Android.
</p>
<h2 id="relation">Liên quan đến ICU4J</h2>
<p>
Android N cung cp mt tp nh các API ICU4J thông qua
gói <code>android.icu</code> thay vì gói <code>com.ibm.icu</code>.
Khuôn kh Android có th chn không
cung cp các API ICU4J vì nhiu lý do; ví dụ, Android N không cung cp
mt s API b loi b hoc nhng API chưa được đội ngũ ICU công b là
bn n định. Vì nhóm ICU s loi b các API này trong tương lai do đó Android cũng s đánh du
chúng là b loi b nhưng vn tiếp tc thêm vào.
</p>
<p class="table-caption"><strong>Bng 1.</strong> Các phiên bn ICU và CLDR được s dng
trong Android N.</p>
<table>
<tr>
<th>Mc Android API</th>
<th>Phiên bn ICU</th>
<th>Phiên bn CLDR</th>
</tr>
<tr>
<td>Android N</td>
<td>56</td>
<td>28</td>
</tr>
</table>
<p>Sau đây là mt vài lưu ý quan trng:</p>
<ul>
<li>Các API khuôn kh Android ICU4J không có tt c các API ca ICU4J.</li>
<li>Các nhà phát trin NDK cn biết rng ICU4C Android không được h trợ.</li>
<li>Các API trong khuôn kh Android không thay thế h tr ca Android cho
<a href="{@docRoot}guide/topics/resources/localization.html">vic bn địa hóa bng
các tài nguyên</a>.</li>
</ul>
<h2 id="migration">Chuyn nhp sang gói android.icu t com.ibm.icu</h2>
<p>
Nếu bn đã s dng các API ICU4J trong ng dng và
các API <code>android.icu</code> đáp ng yêu cu ca bn thì vic chuyn nhp sang
các API ca khuôn kh đòi hi bn phi thay đổi thành phn nhp vào ca Java
t <code>com.ibm.icu</code> sang <code>android.icu</code>. Khi đó bn có th
xóa các tp ICU4J ca bn khi tp APK.
</p>
<p class="note">
<b>Lưu ý</b>: Các API khuôn kh ICU4J s dng không gian tên {@code android.icu}
thay vì {@code com.ibm.icu}. Điu này là để tránh xung đột
không gian tên trong các tp APK có cha các thư vin {@code com.ibm.icu} ca riêng chúng.
</p>
<h3 id="migrate-from-android">
Chuyn nhp sang các API android.icu t các API Android SDK khác
</h3>
<p>
Mt s lp trong gói <code>java</code> và<code>android</code> có
các lp tương ng vi các lp trong ICU4J. Tuy nhiên, ICU4J thường cung cp h tr
rng hơn cho các tiêu chun và ngôn ngữ.
</p>
<p>Sau đây là mt s ví d để giúp bn bt đầu:</p>
<table>
<tr>
<th>Lp</th>
<th>Thay thế</th>
</tr>
<tr>
<td><code>java.lang.Character</code> </td>
<td><code>android.icu.lang.UCharacter</code> </td>
</tr>
<tr>
<td><code>java.text.BreakIterator</code> </td>
<td><code>android.icu.text.BreakIterator</code> </td>
</tr>
<tr>
<td><code>java.text.DecimalFormat</code> </td>
<td><code>android.icu.text.DecimalFormat</code> </td>
</tr>
<tr>
<td><code>java.util.Calendar</code></td>
<td>
<code>android.icu.util.Calendar</code></td>
</tr>
<tr>
<td><code>android.text.BidiFormatter</code>
</td>
<td><code>android.icu.text.Bidi</code>
</td>
</tr>
<tr>
<td><code>android.text.format.DateFormat</code>
</td>
<td><code>android.icu.text.DateFormat</code>
</td>
</tr>
<tr>
<td><code>android.text.format.DateUtils</code> </td>
<td><code>android.icu.text.DateFormat</code>
<code>android.icu.text.RelativeDateTimeFormatter</code>
</td>
</tr>
</table>
<h2 id="licence">Cp phép</h2>
<p>
ICU4J được phát hành theo giy phép ICU. Hãy xem <a class="external-link" href="http://userguide.icu-project.org/icufaq#TOC-How-is-the-ICU-licensed-">Hướng dn s dng
ICU</a> để biết thêm chi tiết.
</p>