在Android中获取一个国家的状态



当用户从Java的Locale类中选择特定国家时,是否有可能获得所有州的列表?我能够从Locale类获得所有国家的列表。但是Locale类不提供状态。他们还有别的办法吗?或者有我可以使用的网络服务吗?

任何帮助将不胜感激。提前感谢:)

除了使用谷歌地图API,这可能需要你有一个全职的连接…有一个包含所有本地变量的数据集叫做GeoNames。

试试这个:

    import java.text.Collator;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    import java.util.Locale;
    public class Country  {
    public void getCountries{
    List<Country> countries = new ArrayList<Country>();
    Locale[] locales = Locale.getAvailableLocales();
    for (Locale locale : locales) {
      String iso = locale.getISO3Country();
      String code = locale.getCountry();
      String name = locale.getDisplayCountry();
      if (!"".equals(iso) && !"".equals(code) && !"".equals(name)) {
        countries.add(new Country(iso, code, name));
      }
    }
    Collections.sort(countries, new CountryComparator());
    for (Country country : countries) {
      System.out.println(country);
    }
  }
}
class CountryComparator implements Comparator<Country> {
  private Comparator comparator;
  CountryComparator() {
    comparator = Collator.getInstance();
  }
  public int compare(Country o1, Country o2) {
    return comparator.compare(o1.name, o2.name);
  }
}
class Country {
  private String iso;
  private String code;
  public String name;
  Country(String iso, String code, String name) {
    this.iso = iso;
    this.code = code;
    this.name = name;
  }
  public String toString() {
    return iso + " - " + code + " - " + name.toUpperCase();
  }
}

相关内容

  • 没有找到相关文章

最新更新