2016-10-29 6 views
3

SimpleDateFormatのような他のクラスでも同じです。 Javaはjava.text.SimpleDateFormatを持っています Androidはandroid.icu.text.SimpleDateFormatを持っていますJavaに既に独自のDateFormatクラスがある場合、Androidには独自のDateFormatクラスがあるのはなぜですか?

その理由は何でしょうか? Androidは独自の機能を追加していますか?

私は最近、人々がDateFormatクラスを抽象クラスのインスタンスとしてどのようにインスタンス化したのか疑問に思っていたので、私は心配しました。今、私は、android.text.format.DateFormatが抽象クラスであるjava.text.DateFormatとは対照的に、インスタンス化できる具象クラスであることに気付きました。

答えて

1

CU4Jは、オープンソースで広く使用されているJavaライブラリのセットで、ソフトウェアアプリケーションのUnicodeとグローバリゼーションをサポートしています。 Android 7.0(APIレベル24)から、Androidはandroid.icuパッケージで使用するアプリ開発者用のICU4J APIのサブセットを公開しています。これらのAPIは、デバイスに存在するローカリゼーションデータを使用します。その結果、APKのフットプリントをAPKにコンパイルしないことで減らすことができます。代わりに、単にフレームワークでそれらに呼び出すことができます。 (この場合、APKの複数のバージョンを提供することができます。Android 7.0(APIレベル24)より低いバージョンのAndroidをお使いの場合、ICU4Jライブラリを含むバージョンのアプリをダウンロードできます)。

Android com.ibm.icuではなくandroid.icuパッケージを介してICU4J APIのサブセットを公開します。 Androidフレームワークはさまざまな理由でICU4J APIを公開しないことを選択することがあります。たとえば、Androidでは、廃止予定のAPIやICUチームがまだ安定だと宣言していないAPIは公開されません。 ICUチームは今後APIを非難するため、Androidでも非推奨とマークされますが、引き続きAndroidを含める予定です。

Source

関連する問題