page.title=API Khuôn khổ Android ICU4J page.tags=androidn page.image=images/cards/card-nyc_2x.jpg @jd:body

Trong tài liệu này:

  1. Liên quan đến ICU4J
  2. Chuyển nhập từ ICU4J sang API android.icu
  3. Cấp phép

Xem thêm

  1. Tài liệu cho ICU4J
  2. Các tiêu chuẩn mới nhất được ICU4J hỗ trợ

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.

Liên quan đến ICU4J

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.

Bảng 1. Các phiên bản ICU và CLDR được sử dụng trong Android N.

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:

Chuyển nhập sang gói android.icu từ com.ibm.icu

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.

Chuyển nhập sang các API android.icu từ các API Android SDK khác

Một số lớp trong gói javaandroid 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

Cấp phép

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.