page.title=API Khuôn khổ Android ICU4J page.tags=androidn page.image=images/cards/card-nyc_2x.jpg @jd:body
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 và toàn cầu hóa cho các ứng dụng phần mềm. Android N 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 sử dụng trong gói {@code android.icu}. Các API này sử dụng 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 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ể 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 nhiều phiên bản tệp APK để những người dùng chạy phiên bản Android thấp hơn Android N có thể tải phiên bản ứng dụng có chứa các thư viện ICU4J.)
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 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ì 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, tài liệu sẽ cho bạn biết cách sử dụng các API ICU4J trong khuôn khổ Android.
Android N cung cấp một tập nhỏ các API ICU4J thông qua
gói android.icu
thay vì gói com.ibm.icu
.
Khuôn khổ Android có thể chọn không
cung cấp các API ICU4J vì nhiều lý do; ví dụ, Android N không cung cấp
một số API bị loại bỏ hoặc những API chưa được đội ngũ ICU công bố là
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
chúng là bị loại bỏ nhưng vẫn tiếp tục thêm vào.
Mức Android API | Phiên bản ICU | Phiên bản CLDR |
---|---|---|
Android N | 56 | 28 |
Sau đây là một vài lưu ý quan trọng:
Nếu bạn đã sử dụng các API ICU4J trong ứng dụng và
các API android.icu
đáp ứng yêu cầu của bạn thì việc chuyển nhập sang
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
từ com.ibm.icu
sang android.icu
. Khi đó bạn có thể
xóa các tệp ICU4J của bạn khỏi tệp APK.
Lưu ý: Các API khuôn khổ ICU4J sử dụng không gian tên {@code android.icu} thay vì {@code com.ibm.icu}. Điều này là để tránh xung đột 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.
Một số lớp trong gói java
vàandroid
có
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ợ
rộng hơn cho các tiêu chuẩn và ngôn ngữ.
Sau đây là một số ví dụ để giúp bạn bắt đầu:
Lớp | Thay thế |
---|---|
java.lang.Character |
android.icu.lang.UCharacter |
java.text.BreakIterator |
android.icu.text.BreakIterator |
java.text.DecimalFormat |
android.icu.text.DecimalFormat |
java.util.Calendar |
android.icu.util.Calendar |
android.text.BidiFormatter
|
android.icu.text.Bidi
|
android.text.format.DateFormat
|
android.icu.text.DateFormat
|
android.text.format.DateUtils |
android.icu.text.DateFormat
android.icu.text.RelativeDateTimeFormatter
|
ICU4J được phát hành theo giấy phép ICU. Hãy xem Hướng dẫn sử dụng ICU để biết thêm chi tiết.