• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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