和暦表示するには、ICU4Jライブラリを直接利用する!
Androidでの和暦表示には、ICU4JライブラリのAPIを使用します。
ICUのJava版ライブラリを使用するので、ICU4Jという名前になっている。
ちなみに、ICUライブラリは、Unicode の文字の変換を行ってくれるライブラリ。
ここで言う「文字の変換」とは、ひらがな -> カタカナ、ひらがな -> ローマ字に変換したりするようなこと。
ICUは「International Components for Unicode」の略.
OS:7 API Level 24未満をサポートしている場合で和暦表示する場合は、Android Platform API(パッケージ名が androidから始まるもの.)は使用せずに、ICU4Jライブラリを直接利用する必要がある.
app/build.gradle
dependencies {
implementation 'com.ibm.icu:icu4j:64.2'
}
OS 5 (Api Level 21) | OS 8 (Api Level 26) | OS 11 (Api Level 30) |
---|---|---|
Androidでは、OS:7(API Level 24)からandroid.icu
で、ICU4J APIの一部(サブセット)が提供された。
このandroid.icu
パッケージのAPIを使用して和暦対応することが可能。
OS11(API Level 30)から和暦の令和表記に対応した ICUライブラリver64.2 をサポートしている。
なので、OS11より古いOSでは、平成32年
みたいな表記になる。
各OSで使っているICUのバージョンはここを参照する
OS 8 (Api Level 26) | OS 11 (Api Level 30) |
---|---|