Skip to content

Most visited

Recently visited

navigation

ICU4J Android Framework API

ICU4J は幅広く使用されているオープンソースの Java ライブラリのセットで、Unicode のほか、ソフトウェア アプリのグローバル化をサポートしています。また、Android 7.0(API レベル 24)から、アプリ デベロッパー用に android.icu パッケージ内で使う ICU4J API のサブセットが公開されています。これらの API は、端末上のローカライズ データを使用します。そのため、ICU4J ライブラリを APK にコンパイルせずにフレームワーク内にあるライブラリを呼び出せばよいので、APK のフットプリントを削減できます(この場合、Android 7.0(API レベル 24)より前のバージョンの Android を使用しているユーザーも、ICU4J ライブラリを含むバージョンのアプリをダウンロードできるようにするには、APK を複数のバージョン用意する必要があります)。

ここではまず、これらのライブラリをサポートするために必要な最低限の Android API レベルについて基本的な情報を説明します。次に、Android 固有の ICU4J の実装に必要な情報を説明します。最後に、Android フレームワークで ICU4J API を使用する方法について説明します。

ICU4J との関係

Android では、com.ibm.icu ではなく android.icu パッケージを介して ICU4J API のサブセットを公開しています。Android フレームワークでは、さまざまな理由により ICU4J API を公開しない可能性もあります。たとえば、Android がサポートを終了した API を公開しない、ICU チームからまだ安定版の発表がないなどの理由があります。ICU チームが今後 API のサポートを終了した場合、Android でもサポート終了という扱いになりますが、API は引き続き含まれます。

表 1. Android で使用される ICU および CLDR のバージョン

Android API レベル ICU バージョン CLDR バージョン
Android 7.0(API レベル 24) 56 28

いくつか注意事項があります。

com.ibm.icu から android.icu パッケージに移行する

アプリ内で既に ICU4J API を使用しており、android.icu API が要件を満たしている場合、フレームワーク API に移行するには、Java のインポートを com.ibm.icu から android.icu に変更します。次に、APK から ICU4J ファイルのコピーを削除します。

注: ICU4J フレームワーク API では、名前空間に com.ibm.icu ではなくandroid.icu を使用します。これは、独自の com.ibm.icu ライブラリを含む APK で名前空間が競合しないようにするためです。

その他の Android SDK API から android.icu API に移行する

java および android パッケージには、ICU4J にあるクラスと同等のクラスが一部含まれています。しかし多くの場合、ICU4J では、より幅広い標準と言語のサポートしています。

次に、すぐに利用できる例をいくつか示します。

クラス 代替クラス
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 は ICU ライセンスでリリースされています。詳細については、ICU のユーザーガイド をご覧ください。

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)