美文网首页
Android获取所有国家列表

Android获取所有国家列表

作者: 丶丶TkoRn丶丶 | 来源:发表于2018-06-24 21:57 被阅读0次

前言

因为项目需要实现选择国家列表如下图:


微信图片_20180624210302.png

不多废话,上代码


public static List<Locale> getAllLocale(){
    List<Locale> mAllLocale  = new ArrayList<>();
    for (String str : Locale.getISOCountries()){
        mAllLocale.add(new Locale("",str));
    }
    return mAllLocale;
}
 

没错就是那么简单就能拿到ISO 3166 中所定义的所有国家的Locale,
接下来我们简单介绍一下Locale。

Locale

定义:代表特定的地理、政治,文化区域

构造函数:

Locale(String language)}
Locale(String language, String country)}
/**
 * @param language 小写2到8的语言代码。例如:"en" (English), "ja" (Japanese), "kok" (Konkani)
 * @param country 大写两个字母ISO-3166代码和NUMICR-3 UNM.49区域代码。例如:"US" (United States), "FR" (France), "029"
 * @param variant 供应商和浏览器特定的代码。例如:"polyton" (Polytonic Greek), "POSIX"
*/
Locale(String language, String country, String variant)}

简单使用:

public static void main(String[] args) {  
        // 设置默认语言环境  
        Locale.setDefault(Locale.CHINA);  
        // 获取计算机默认语言环境  
        Locale l = Locale.getDefault();  
        System.out.println("默认语言代码: " + l.getLanguage());  
        System.out.println("默认地区代码: " + l.getCountry());  
        System.out.println("默认语言地区代码: " + l.toString());  
        System.out.println("---------------------------------------");  
        System.out.println("默认语言描述: " + l.getDisplayLanguage());  
        System.out.println("默认地区描述: " + l.getDisplayCountry());  
        System.out.println("默认语言,地区描述: " + l.getDisplayName());  
        System.out.println("---------------------------------------");  
        System.out.println("在美国默认语言叫: " + l.getDisplayLanguage(Locale.US));  
        System.out.println("在美国默认地区叫: " + l.getDisplayCountry(Locale.US));  
        System.out.println("在美国默认语言,地区叫: " + l.getDisplayName(Locale.US));  
        System.out.println("---------------------------------------");  
        System.out.println("语言环境三字母缩写: " + l.getISO3Language());  
        System.out.println("国家环境三字母缩写: " + l.getISO3Country());  
        System.out.println("---------------------------------------");  
        // 机器已经安装的语言环境数组  
        Locale[] allLocale = Locale.getAvailableLocales();  
        // 返回 ISO 3166 中所定义的所有两字母国家代码  
        String[] str1 = Locale.getISOCountries();  
        // 返回 ISO 639 中所定义的所有两字母语言代码  
        String[] str2 = Locale.getISOLanguages();  
    } 

/* 
 打印结果: 
    默认语言代码: zh 
    默认地区代码: CN 
    默认语言地区代码: zh_CN 
    --------------------------------------- 
    默认语言描述: 中文 
    默认地区描述: 中国 
    默认语言,地区描述: 中文 (中国) 
    --------------------------------------- 
    在中国默认语言代码叫: 中文 
    在中国默认地区代码叫: 中国 
    在中国默认语言,地区代码叫: 中文 (中国) 
    在美国默认语言叫: Chinese 
    在美国默认地区叫: China 
    在美国默认语言,地区叫: Chinese (China) 
    --------------------------------------- 
    语言环境三字母缩写: zho 
    国家环境三字母缩写: CHN 
    --------------------------------------- 
 */  

相关文章

网友评论

      本文标题:Android获取所有国家列表

      本文链接:https://www.haomeiwen.com/subject/ehvsyftx.html