An open API service indexing awesome lists of open source software.

https://github.com/leoando/icu4jsample

sample for Android icu4j(Wareki)
https://github.com/leoando/icu4jsample

android icu4j

Last synced: about 2 months ago
JSON representation

sample for Android icu4j(Wareki)

Awesome Lists containing this project

README

        

# 和暦表示

# 結論
和暦表示するには、ICU4Jライブラリを直接利用する!

## ICU4Jライブラリとは
Androidでの和暦表示には、ICU4JライブラリのAPIを使用します。

ICUのJava版ライブラリを使用するので、ICU4Jという名前になっている。

ちなみに、ICUライブラリは、Unicode の文字の変換を行ってくれるライブラリ。

ここで言う「文字の変換」とは、ひらがな -> カタカナ、ひらがな -> ローマ字に変換したりするようなこと。

ICUは「International Components for Unicode」の略.

## やり方1: ICU4Jライブラリを直接利用する
OS:7 API Level 24未満をサポートしている場合で和暦表示する場合は、Android Platform API(パッケージ名が androidから始まるもの.)は使用せずに、ICU4Jライブラリを直接利用する必要がある.

app/build.gradle
```groovy
dependencies {
implementation 'com.ibm.icu:icu4j:64.2'
}
```

| OS 5 (Api Level 21) | OS 8 (Api Level 26) | OS 11 (Api Level 30)
| --- | --- | --- |
| | | |

## やり方2: Android Platform API `android.icu`を使って和暦対応する

Androidでは、OS:7(API Level 24)から`android.icu` で、ICU4J APIの一部(サブセット)が提供された。

この`android.icu`パッケージのAPIを使用して和暦対応することが可能。

OS11(API Level 30)から和暦の令和表記に対応した [ICUライブラリver64.2](https://github.com/unicode-org/icu/releases/tag/release-64-2) をサポートしている。

なので、OS11より古いOSでは、`平成32年`みたいな表記になる。

各OSで使っているICUのバージョンは[ここ](https://developer.android.com/guide/topics/resources/internationalization?hl=ja#versioning-nougat)を参照する

| OS 8 (Api Level 26) | OS 11 (Api Level 30) |
| --- | --- |
| | |