본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] 모든 국가 이름 가져오기

by 돼지왕 왕돼지 2012. 11. 2.
반응형



모든 국가 이름 가져오기

- 국가 이름을 가져오는 방법은 크게 2가지가 있습니다,

1. Locale.getavailableLocales();

Locale[] locales = Locale.getAvailableLocales();
for( int i=0; i < locales.length; i++ ){
   Log.d( TAG, locales[ i ].getDisplayCountry() );


- 단말에서 지원하는 locale 정보들을 return 한다. 단말에서 지원하는 형태이기 때문에, 버전에 따라 그리고 제조사 platform 에 따라 지원하는 국가들이 다를 수 있다. 기본적으로 유명한 국가들은 다 지원된다고 보면 되겠다.

- HTC Desire HD 로 실험 결과 총 107 개의 국가 이름이 나온다. 




2. Locale.getISOCountries() & mapping.

- Locale.getISOCountries()는 ISO 에서 정의한 모든 국가에 대한 국가 코드를 반환한다. 이는 코드이기 때문에 locale code -> country name 으로 매핑하는 과정을 거쳐야 한다. 

- ISO locale code & country name mapping table 링크

- Locale 자체를 이용해서 ISO 코드에 대한 display name 도 얻을 수 있다.

String[] isoCodes = Locale.getISOCountries();
for( int i=0; i < isoCodes.length; i++ ){
   Locale locale = new Locale( "en", isoCodes[ i ] );
   Log.d( TAG, locale.getDisplayName() );


- HTC Desire HD 에서 실험 결과 총 246개국을 표시한다.



도움이 되셨다면 손가락 꾸욱~ ( 로그인 필요 x )






반응형

댓글