1page.title=API Khuôn khổ Android ICU4J 2page.tags=androidn 3page.image=images/cards/card-nyc_2x.jpg 4 5@jd:body 6 7<div id="qv-wrapper"> 8<div id="qv"> 9<h2>Trong tài liệu này:</h2> 10<ol> 11 <li><a href="#relation">Liên quan đến ICU4J</a></li> 12 <li><a href="#migration">Chuyển nhập từ ICU4J sang API android.icu</a></li> 13 <li><a href="#licence">Cấp phép</a></li> 14</ol> 15 16<h2>Xem thêm</h2> 17<ol> 18 <li> 19 <a class="external-link" href="http://userguide.icu-project.org">Tài liệu cho ICU4J</a> 20 </li> 21 22 <li> 23 <a class="external-link" href="http://site.icu-project.org/#TOC-What-is-ICU-">Các tiêu chuẩn mới nhất được ICU4J 24 hỗ trợ</a> 25 </li> 26</ol> 27</div> 28</div> 29 30<p> 31 ICU4J là bộ thư viện Java mã nguồn mở được sử dụng rộng rãi để cung cấp hỗ trợ Unicode 32 và toàn cầu hóa cho các ứng dụng phần mềm. Android N 33 cung cấp một tập nhỏ các API ICU4J trong khuôn khổ Android cho các nhà phát triển ứng dụng 34 sử dụng trong gói {@code android.icu}. Các API này sử dụng 35 dữ liệu bản địa hóa có trong thiết bị. Do đó, bạn có thể giảm kích thước tệp APK 36 bằng cách không biên dịch các thư viện ICU4J vào tệp APK; thay vào đó bạn có thể 37 gọi chúng trong khuôn khổ một cách đơn giản. (Trong trường hợp này, bạn có thể muốn cung cấp 38 <a href="{@docRoot}google/play/publishing/multiple-apks.html">nhiều phiên bản 39 tệp APK</a> để những người dùng chạy phiên bản Android thấp hơn Android N 40 có thể tải phiên bản ứng dụng có chứa các thư viện ICU4J.) 41</p> 42 43<p> 44 Tài liệu này sẽ bắt đầu bằng việc cung cấp thông tin cơ bản về các mức Android API 45 tối thiểu cần để hỗ trợ các thư viện này. Sau đó tài liệu sẽ giải thích những gì 46 bạn cần để hiểu được công việc triển khai ICU4J liên quan cụ thể đến Android. Cuối cùng, 47 tài liệu sẽ cho bạn biết cách sử dụng các API ICU4J trong khuôn khổ Android. 48</p> 49 50<h2 id="relation">Liên quan đến ICU4J</h2> 51 52<p> 53 Android N cung cấp một tập nhỏ các API ICU4J thông qua 54 gói <code>android.icu</code> thay vì gói <code>com.ibm.icu</code>. 55Khuôn khổ Android có thể chọn không 56 cung cấp các API ICU4J vì nhiều lý do; ví dụ, Android N không cung cấp 57 một số API bị loại bỏ hoặc những API chưa được đội ngũ ICU công bố là 58 bản ổn định. Vì nhóm ICU sẽ loại bỏ các API này trong tương lai do đó Android cũng sẽ đánh dấu 59 chúng là bị loại bỏ nhưng vẫn tiếp tục thêm vào. 60</p> 61 62<p class="table-caption"><strong>Bảng 1.</strong> Các phiên bản ICU và CLDR được sử dụng 63 trong Android N.</p> 64<table> 65<tr> 66<th>Mức Android API</th> 67<th>Phiên bản ICU</th> 68<th>Phiên bản CLDR</th> 69</tr> 70<tr> 71<td>Android N</td> 72<td>56</td> 73<td>28</td> 74</tr> 75</table> 76 77<p>Sau đây là một vài lưu ý quan trọng:</p> 78 79<ul> 80<li>Các API khuôn khổ Android ICU4J không có tất cả các API của ICU4J.</li> 81<li>Các nhà phát triển NDK cần biết rằng ICU4C Android không được hỗ trợ.</li> 82<li>Các API trong khuôn khổ Android không thay thế hỗ trợ của Android cho 83<a href="{@docRoot}guide/topics/resources/localization.html">việc bản địa hóa bằng 84các tài nguyên</a>.</li> 85</ul> 86 87<h2 id="migration">Chuyển nhập sang gói android.icu từ com.ibm.icu</h2> 88 89<p> 90 Nếu bạn đã sử dụng các API ICU4J trong ứng dụng và 91 các API <code>android.icu</code> đáp ứng yêu cầu của bạn thì việc chuyển nhập sang 92 các API của khuôn khổ đòi hỏi bạn phải thay đổi thành phần nhập vào của Java 93 từ <code>com.ibm.icu</code> sang <code>android.icu</code>. Khi đó bạn có thể 94 xóa các tệp ICU4J của bạn khỏi tệp APK. 95</p> 96 97<p class="note"> 98 <b>Lưu ý</b>: Các API khuôn khổ ICU4J sử dụng không gian tên {@code android.icu} 99 thay vì {@code com.ibm.icu}. Điều này là để tránh xung đột 100 không gian tên trong các tệp APK có chứa các thư viện {@code com.ibm.icu} của riêng chúng. 101</p> 102 103<h3 id="migrate-from-android"> 104 Chuyển nhập sang các API android.icu từ các API Android SDK khác 105</h3> 106 107<p> 108 Một số lớp trong gói <code>java</code> và<code>android</code> có 109 các lớp tương ứng với các lớp trong ICU4J. Tuy nhiên, ICU4J thường cung cấp hỗ trợ 110 rộng hơn cho các tiêu chuẩn và ngôn ngữ. 111</p> 112<p>Sau đây là một số ví dụ để giúp bạn bắt đầu:</p> 113<table> 114<tr> 115<th>Lớp</th> 116<th>Thay thế</th> 117</tr> 118<tr> 119<td><code>java.lang.Character</code> </td> 120<td><code>android.icu.lang.UCharacter</code> </td> 121</tr> 122<tr> 123<td><code>java.text.BreakIterator</code> </td> 124<td><code>android.icu.text.BreakIterator</code> </td> 125</tr> 126<tr> 127<td><code>java.text.DecimalFormat</code> </td> 128<td><code>android.icu.text.DecimalFormat</code> </td> 129</tr> 130<tr> 131<td><code>java.util.Calendar</code></td> 132<td> 133<code>android.icu.util.Calendar</code></td> 134</tr> 135<tr> 136<td><code>android.text.BidiFormatter</code> 137 </td> 138<td><code>android.icu.text.Bidi</code> 139 </td> 140</tr> 141<tr> 142<td><code>android.text.format.DateFormat</code> 143 </td> 144<td><code>android.icu.text.DateFormat</code> 145 </td> 146</tr> 147<tr> 148<td><code>android.text.format.DateUtils</code> </td> 149<td><code>android.icu.text.DateFormat</code> 150<code>android.icu.text.RelativeDateTimeFormatter</code> 151</td> 152</tr> 153</table> 154 155<h2 id="licence">Cấp phép</h2> 156 157<p> 158 ICU4J được phát hành theo giấy 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 dẫn sử dụng 159 ICU</a> để biết thêm chi tiết. 160</p> 161