BamsBamx
BamsBamx

Reputation: 4256

What does 'ICU' stand for in Android SDK?

Have seen new packages in Android SDK docs. All of them are available in API level 24 which corresponds to Android Nougat and seem to replace the 'java.xxx' packages by 'android.icu.xxx'. For example:

The java.text.DateFormat package is duplicated in android.icu.text.DateFormat and so on

Also, in some icu classes appears the following annotation:

[icu enhancement] ICU's replacement for (class name). Methods, fields, and other functionality specific to ICU are labeled '[icu]'.

So, what does ICU stand for? And what are differences between java and android.icu packages? Will java packages be deprecated soon?

Upvotes: 33

Views: 9486

Answers (2)

bTheHelper
bTheHelper

Reputation: 179

ICU stands for International Components for Unicode

http://site.icu-project.org/

Upvotes: 17

px06
px06

Reputation: 2326

This explains the notion of icu pretty well. They've basically introduced this for the later API's to "reduce your APK footprint". I don't think that the ICU is a replacement for the java.*.* libraries but is just an alternative to use. There is also one interesting thing on that page:

As the ICU team deprecates APIs in the future, Android will also mark them as deprecated but will continue to include them.

Here is also a little list of features about ICU4J which is quite helpful.

Upvotes: 22

Related Questions