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