1page.title=ICU4J Android 프레임워크 API
2page.image=images/cards/card-nyc_2x.jpg
3
4@jd:body
5
6<div id="qv-wrapper">
7<div id="qv">
8<h2>이 문서의 내용</h2>
9<ol>
10    <li><a href="#relation">ICU4J와의 관계</a></li>
11    <li><a href="#migration">android.icu API에서 ICU4J로 마이그레이션</a></li>
12    <li><a href="#licence">라이선스</a></li>
13</ol>
14
15<h2>참고 항목</h2>
16<ol>
17  <li>
18    <a class="external-link" href="http://userguide.icu-project.org">ICU4J 문서</a>
19  </li>
20
21  <li>
22    <a class="external-link" href="http://site.icu-project.org/#TOC-What-is-ICU-">
23ICU4J가 지원하는 최신 표준</a>
24  </li>
25</ol>
26</div>
27</div>
28
29<p>
30  ICU4J는 오픈 소스이며 널리 사용되는 Java 라이브러리 세트로, 소프트웨어 애플리케이션에 유니코드와
31세계화 지원을 제공합니다. Android N은
32Android 프레임워크에서 앱 개발자가
33{@code android.icu} 패키지에서 사용할 수 있는 ICU4J API의 하위 세트를 노출합니다. 이 API는
34기기의 현지화 데이터를 사용합니다. 따라서 ICU4J 라이브러리를 APK로 컴파일하지 않고
35프레임워크에서 호출하여APK
36풋프린트를 줄일 수 있습니다. (이 경우, Android N 이하 버전의 Android를
37실행하는 사용자가 ICU4J 라이브러리를 포함한 앱 버전을 다운로드할 수 있도록
38<a href="{@docRoot}google/play/publishing/multiple-apks.html">여러 버전의
39APK</a>를 제공해야 할 수도 있습니다.)
40</p>
41
42<p>
43  이 문서에서는 먼저 이 라이브러리 지원에 필요한 최소
44Android API 레벨과 관련된 몇 가지 기본 정보를 제공합니다. 그 후,
45각 Android에서 ICU4J를 구현하는 데 무엇이 필요한지 설명합니다. 마지막으로,
46Android 프레임워크에서 ICU4J API를 사용하는 방법을 설명합니다.
47</p>
48
49<h2 id="relation">ICU4J와의 관계</h2>
50
51<p>
52  Android N은
53<code>com.ibm.icu</code>가 아니라 <code>android.icu</code> 패키지를 통해 ICU4J API의 하위 세트를 노출합니다.
54Android 프레임워크는 여러 가지 이유로
55ICU4J API를 노출하지 않을 수 있습니다. 예컨대 Android N은
56일부 사용 중단된 API나 ICU 팀에서 안정적이라고 선언하지 않은 API를
57노출하지 않습니다. ICU 팀이 이후 API의 사용을 중단하면, Android도
58이를 사용 중단됨으로 표시하지만 계속 포함합니다.
59</p>
60
61<p class="table-caption"><strong>표 1.</strong>
62Android N에서 사용된 ICU 및 CLDR 버전.</p>
63<table>
64<tr>
65<th>Android API 레벨</th>
66<th>ICU 버전</th>
67<th>CLDR 버전</th>
68</tr>
69<tr>
70<td>Android N</td>
71<td>56</td>
72<td>28</td>
73</tr>
74</table>
75
76<p>중요한 참고 사항:</p>
77
78<ul>
79<li>ICU4J Android 프레임워크 API에는 모든 ICU4J API가 포함되지 않습니다.</li>
80<li>NDK 개발자는 Android ICU4C가 지원되지 않는다는 것을 알아야 합니다.</li>
81<li>Android 프레임워크의 API는 Android의
82<a href="{@docRoot}guide/topics/resources/localization.html">리소스로
83현지화</a> 지원을 대체하지 못합니다.</li>
84</ul>
85
86<h2 id="migration">com.ibm.icu에서 android.icu 패키지로 마이그레이션</h2>
87
88<p>
89  앱에서 이미 ICU4J API를 사용하고 있고
90<code>android.icu</code> API가 요구사항을 충족한다면
91프레임워크 API로 마이그레이션할 때 Java 가져오기를
92<code>com.ibm.icu</code>에서 <code>android.icu</code>로 변경해야 합니다. 그러면 APK에서
93ICU4J 파일 사본을 삭제할 수 있습니다.
94</p>
95
96<p class="note">
97  <b>참고</b>: ICU4J 프레임워크 API는 {@code com.ibm.icu} 대신 {@code android.icu}
98네임스페이스를 사용합니다. 이는 자체 {@code com.ibm.icu} 라이브러리가 포함된 APK에서
99네임스페이스 충돌을 피하기 위해서입니다.
100</p>
101
102<h3 id="migrate-from-android">
103  다른 Android SDK API에서 android.icu API로 마이그레이션
104</h3>
105
106<p>
107  <code>java</code>와 <code>android</code> 패키지의 일부 클래스는
108ICU4J의 클래스와 같습니다. 그러나 ICU4J는 종종 더욱 폭넓은
109표준과 언어를 지원합니다.
110</p>
111<p>시작하기 위한 몇 가지 예시는 다음과 같습니다.</p>
112<table>
113<tr>
114<th>클래스</th>
115<th>대체</th>
116</tr>
117<tr>
118<td><code>java.lang.Character</code> </td>
119<td><code>android.icu.lang.UCharacter</code> </td>
120</tr>
121<tr>
122<td><code>java.text.BreakIterator</code> </td>
123<td><code>android.icu.text.BreakIterator</code> </td>
124</tr>
125<tr>
126<td><code>java.text.DecimalFormat</code> </td>
127<td><code>android.icu.text.DecimalFormat</code> </td>
128</tr>
129<tr>
130<td><code>java.util.Calendar</code></td>
131<td>
132<code>android.icu.util.Calendar</code></td>
133</tr>
134<tr>
135<td><code>android.text.BidiFormatter</code>
136 </td>
137<td><code>android.icu.text.Bidi</code>
138 </td>
139</tr>
140<tr>
141<td><code>android.text.format.DateFormat</code>
142 </td>
143<td><code>android.icu.text.DateFormat</code>
144 </td>
145</tr>
146<tr>
147<td><code>android.text.format.DateUtils</code> </td>
148<td><code>android.icu.text.DateFormat</code>
149<code>android.icu.text.RelativeDateTimeFormatter</code>
150</td>
151</tr>
152</table>
153
154<h2 id="licence">라이선스</h2>
155
156<p>
157  ICU4J는 ICU 라이선스에 따라 배포됩니다. 자세한 내용은 <a class="external-link" href="http://userguide.icu-project.org/icufaq#TOC-How-is-the-ICU-licensed-">ICU
158 사용자 가이드</a>를 참조하세요.
159</p>
160