Получить список стран из ОС Android

Я ищу способ заполнить счетчик списком стран с их именами. Могу ли я получить его из ОС Android? Может кто-нибудь, пожалуйста, предоставит мне пример?

Solutions Collecting From Web of "Получить список стран из ОС Android"

Вы можете получить некоторую идею из класса Locale .

Вызвать getAvailableLocales() затем getDisplayCountry() массив & getDisplayCountry() . Если вы впервые увидели это название страны, добавьте его в расширяемый список (например, экземпляр ArrayList ).


НАПРИМЕР

В Java, но 3 класса из java.util доступны в Android.

 import java.util.*; class Countries { public static void main(String[] args) { Locale[] locales = Locale.getAvailableLocales(); ArrayList<String> countries = new ArrayList<String>(); for (Locale locale : locales) { String country = locale.getDisplayCountry(); if (country.trim().length()>0 && !countries.contains(country)) { countries.add(country); } } Collections.sort(countries); for (String country : countries) { System.out.println(country); } System.out.println( "# countries found: " + countries.size()); } } 

Выход на этот настольный ПК

 Albania Algeria Argentina Australia .. Venezuela Vietnam Yemen # countries found: 95 Press any key to continue . . . 

Вы можете использовать Locale.getISOCountries (), чтобы получить список всех двухбуквенных кодов страны. Из кода страны с двумя буквами вы можете создать объект Locale, а затем использовать Locale.getDisplayName (), чтобы получить имя страны.

 String[] isoCountryCodes = Locale.getISOCountries(); for (String countryCode : isoCountryCodes) { Locale locale = new Locale("", countryCode); String countryName = locale.getDisplayCountry(); } 

Запуск Android 4.3 на Galaxy Note 3, getISOCountries () возвращает 246 кодов стран, что довольно близко к 249 официально присвоенным кодам стран ISO на сегодняшний день (11/24/14).

Вызов getAvailableLocales () возвращает только установленные локаторы устройства, которые, скорее всего, будут иметь гораздо меньше стран.

Я создал класс для этого, я надеюсь, что он может помочь.

 public class CountryDetails { public static String[] country = new String[]{"Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Brazil", "British Indian Ocean Territory", "British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burma (Myanmar)", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Cook Islands", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czech Republic", "Democratic Republic of the Congo", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Falkland Islands", "Faroe Islands", "Fiji", "Finland", "France", "French Polynesia", "Gabon", "Gambia", "Gaza Strip", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guam", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Holy See (Vatican City)", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Isle of Man", "Israel", "Italy", "Ivory Coast", "Jamaica", "Japan", "Jersey", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Kosovo", "Kuwait", "Kyrgyzstan", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", "Macau", "Macedonia", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova", "Monaco", "Mongolia", "Montenegro", "Montserrat", "Morocco", "Mozambique", "Namibia", "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "North Korea", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Pitcairn Islands", "Poland", "Portugal", "Puerto Rico", "Qatar", "Republic of the Congo", "Romania", "Russia", "Rwanda", "Saint Barthelemy", "Saint Helena", "Saint Kitts and Nevis", "Saint Lucia", "Saint Martin", "Saint Pierre and Miquelon", "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Korea", "Spain", "Sri Lanka", "Sudan", "Suriname", "Swaziland", "Sweden", "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "Timor-Leste", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States", "Uruguay", "US Virgin Islands", "Uzbekistan", "Vanuatu", "Venezuela", "Vietnam", "Wallis and Futuna", "West Bank", "Yemen", "Zambia", "Zimbabwe"}; public static String[] code = new String[]{"+93", "+355", "+213", "+1 684", "+376", "+244", "+1 264", "+672", "+1 268", "+54", "+374", "+297", "+61", "+43", "+994", "+1 242", "+973", "+880", "+1 246", "+375", "+32", "+501", "+229", "+1 441", "+975", "+591", "+387", "+267", "+55", "+246", "+1 284", "+673", "+359", "+226", "+95", "+257", "+855", "+237", "+1", "+238", "+1 345", "+236", "+235", "+56", "+86", "+61", "+891", "+57", "+269", "+682", "+506", "+385", "+53", "+357", "+420", "+243", "+45", "+253", "+1 767", "+1 849", "+1 829", "+1 809", "+593", "+20", "+503", "+240", "+291", "+372", "+251", "+500", "+298", "+679", "+358", "+33", "+689", "+241", "+220", "+970", "+995", "+49", "+233", "+350", "+30", "+299", "+1 473", "+1 671", "+502", "+224", "+245", "+592", "+509", "+379", "+504", "+852", "+36", "+354", "+91", "+62", "+98", "+964", "+353", "+44", "+972", "+39", "+225", "+1 876", "+81", "+44", "+962", "+7", "+254", "+686", "+381", "+965", "+996", "+856", "+371", "+961", "+266", "+231", "+218", "+423", "+370", "+352", "+853", "+389", "+261", "+265", "+60", "+960", "+223", "+356", "+692", "+222", "+230", "+262", "+52", "+691", "+373", "+377", "+976", "+382", "+1 664", "+212", "+258", "+264", "+674", "+977", "+31", "+599", "+687", "+64", "+505", "+227", "+234", "+683", "+672", "+850", "+1 670", "+47", "+968", "+92", "+680", "+507", "+675", "+595", "+51", "+63", "+870", "+48", "+351", "+1", "+974", "+242", "+40", "+7", "+250", "+590", "+290", "+1 869", "+1 758", "+1 599", "+508", "+1 784", "+685", "+378", "+239", "+966", "+221", "+381", "+248", "+232", "+65", "+421", "+386", "+677", "+252", "+27", "+82", "+34", "+94", "+249", "+597", "+268", "+46", "+41", "+963", "+886", "+992", "+255", "+66", "+670", "+228", "+690", "+676", "+1 868", "+216", "+90", "+993", "+1 649", "+688", "+256", "+380", "+971", "+44", "+1", "+598", "+1 340", "+998", "+678", "+58", "+84", "+681", "+970", "+967", "+260", "+263"}; public String[] getCountry() { return country; } public String[] getCode() { return code; } } 

Я создал библиотеку ( https://github.com/roomorama/AndroidCountryPicker ), которая отображает все страны и позволяет пользователю выбрать страну. Вы можете встроить его в свою собственную деятельность или показать его как диалог.

Использовать веб-службы geonames:

  1. Получить список стран

http://api.geonames.org/countryInfoJSON?username=demo

  1. Чтобы получить список состояний по стране (используйте geonameId из 1-го результата веб-службы)

экс. Для страны INDIA, geonameId = 1269750

http://api.geonames.org/childrenJSON?geonameId=1269750&username=demo

  1. Чтобы получить список городов по состоянию (используйте geonameId из 2-го результата webservice)

экс. Для состояния Maharashtra, geonameId = 1264418

http://api.geonames.org/childrenJSON?geonameId=1264418&username=demo

Вот строковый массив имен стран в xml.

 <string-array name="countries" formatted="false" translatable="false"> <item>Afghanistan</item> <item>Albania</item> <item>Algeria</item> <item>American Samoa</item> <item>Andorra</item> <item>Angola</item> <item>Antigua and Barbuda</item> <item>Argentina</item> <item>Armenia</item> <item>Aruba</item> <item>Australia</item> <item>Austria</item> <item>Azerbaijan</item> <item>Bahamas</item> <item>Bahrain</item> <item>Bangladesh</item> <item>Barbados</item> <item>Belarus</item> <item>Belgium</item> <item>Belize</item> <item>Benin</item> <item>Bermuda</item> <item>Bhutan</item> <item>Bolivia</item> <item>Bosnia and Herzegovina</item> <item>Botswana</item> <item>Brazil</item> <item>British Virgin Islands</item> <item>Brunei</item> <item>Bulgaria</item> <item>Burkina Faso</item> <item>Burundi</item> <item>Cambodia</item> <item>Cameroon</item> <item>Canada</item> <item>Canary Islands</item> <item>Cape Verde</item> <item>Cayman Islands</item> <item>Central African Republic</item> <item>Ceuta and Melilla</item> <item>Chad</item> <item>Chile</item> <item>China</item> <item>Colombia</item> <item>Comoros</item> <item>Congo [DRC]</item> <item>Congo [Republic]</item> <item>Costa Rica</item> <item>Croatia</item> <item>Cuba</item> <item>Curaçao</item> <item>Cyprus</item> <item>Czech Republic</item> <item>Côte d'Ivoire</item> <item>Denmark</item> <item>Djibouti</item> <item>Dominica</item> <item>Dominican Republic</item> <item>Ecuador</item> <item>Egypt</item> <item>El Salvador</item> <item>Equatorial Guinea</item> <item>Eritrea</item> <item>Estonia</item> <item>Ethiopia</item> <item>Europe</item> <item>Faroe Islands</item> <item>Fiji</item> <item>Finland</item> <item>France</item> <item>French Guiana</item> <item>French Polynesia</item> <item>Gabon</item> <item>Gambia</item> <item>Georgia</item> <item>Germany</item> <item>Ghana</item> <item>Gibraltar</item> <item>Greece</item> <item>Greenland</item> <item>Grenada</item> <item>Guadeloupe</item> <item>Guam</item> <item>Guatemala</item> <item>Guernsey</item> <item>Guinea</item> <item>Guinea-Bissau</item> <item>Guyana</item> <item>Haiti</item> <item>Honduras</item> <item>Hong Kong</item> <item>Hungary</item> <item>Iceland</item> <item>India</item> <item>Indonesia</item> <item>Iran</item> <item>Iraq</item> <item>Ireland</item> <item>Isle of Man</item> <item>Israel</item> <item>Italy</item> <item>Jamaica</item> <item>Japan</item> <item>Jersey</item> <item>Jordan</item> <item>Kazakhstan</item> <item>Kenya</item> <item>Kiribati</item> <item>Kuwait</item> <item>Kyrgyzstan</item> <item>Laos</item> <item>Latin America</item> <item>Latvia</item> <item>Lebanon</item> <item>Lesotho</item> <item>Liberia</item> <item>Libya</item> <item>Liechtenstein</item> <item>Lithuania</item> <item>Luxembourg</item> <item>Macau</item> <item>Macedonia [FYROM]</item> <item>Madagascar</item> <item>Malawi</item> <item>Malaysia</item> <item>Mali</item> <item>Malta</item> <item>Marshall Islands</item> <item>Martinique</item> <item>Mauritania</item> <item>Mauritius</item> <item>Mayotte</item> <item>Mexico</item> <item>Micronesia</item> <item>Moldova</item> <item>Monaco</item> <item>Mongolia</item> <item>Montenegro</item> <item>Morocco</item> <item>Mozambique</item> <item>Myanmar [Burma]</item> <item>Namibia</item> <item>Nepal</item> <item>Netherlands</item> <item>New Caledonia</item> <item>New Zealand</item> <item>Nicaragua</item> <item>Niger</item> <item>Nigeria</item> <item>North Korea</item> <item>Northern Mariana Islands</item> <item>Norway</item> <item>Oman</item> <item>Pakistan</item> <item>Palau</item> <item>Palestine</item> <item>Panama</item> <item>Papua New Guinea</item> <item>Paraguay</item> <item>Peru</item> <item>Philippines</item> <item>Poland</item> <item>Portugal</item> <item>Puerto Rico</item> <item>Qatar</item> <item>Romania</item> <item>Russia</item> <item>Rwanda</item> <item>Réunion</item> <item>Saint Barthélemy</item> <item>Saint Kitts and Nevis</item> <item>Saint Lucia</item> <item>Saint Martin</item> <item>Saint Vincent and the Grenadines</item> <item>Samoa</item> <item>San Marino</item> <item>Saudi Arabia</item> <item>Senegal</item> <item>Serbia</item> <item>Seychelles</item> <item>Sierra Leone</item> <item>Singapore</item> <item>Sint Maarten</item> <item>Slovakia</item> <item>Slovenia</item> <item>Solomon Islands</item> <item>Somalia</item> <item>South Africa</item> <item>South Korea</item> <item>South Sudan</item> <item>Spain</item> <item>Sri Lanka</item> <item>Sudan</item> <item>Suriname</item> <item>Swaziland</item> <item>Sweden</item> <item>Switzerland</item> <item>Syria</item> <item>São Tomé and Príncipe</item> <item>Taiwan</item> <item>Tanzania</item> <item>Thailand</item> <item>Timor-Leste</item> <item>Togo</item> <item>Tonga</item> <item>Trinidad and Tobago</item> <item>Tunisia</item> <item>Turkey</item> <item>Turks and Caicos Islands</item> <item>US Outlying Islands</item> <item>US Virgin Islands</item> <item>Uganda</item> <item>Ukraine</item> <item>United Arab Emirates</item> <item>United Kingdom</item> <item>United States</item> <item>Uruguay</item> <item>Uzbekistan</item> <item>Vanuatu</item> <item>Venezuela</item> <item>Vietnam</item> <item>Western Sahara</item> <item>Yemen</item> <item>Zambia</item> <item>Zimbabwe</item> <item>Åland Islands</item> </string-array> 

В решении @Ameen Maheen есть некоторая ошибка: в соответствии с названием страны мы не получаем правильный код страны … Поэтому я скорректировал список стран и стран кода … Существует около 240 Стран в мире … Так что есть решение 🙂

Класс CountryDetails: –

 public class CountryDetails { public static String[] country = new String[]{ "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Brazil", "British Indian Ocean Territory", "British Virgin", "Brunei", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon ", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos Islands", "Colombia", "Comoros", "Cook Islands", "Costa Rica", "Croatia", "Cuba ", "Curacao", "Cyprus ", "Czech Republic", "Democratic Republic of the Congo", "Denmark ", "Djibouti ", "Dominica ", "Dominican Republic", "East Timor", "Ecuador", "Egypt ", "El Salvador", "Equatorial Guinea", "Eritrea ", "Estonia ", "Ethiopia ", "Falkland Islands ", "Faroe Islands ", "Fiji ", "Finland ", "France", "French Polynesia", "Gabon ", "Gambia", "Georgia ", "Germany ", "Ghana ", "Gibraltar", "Greece ", "Greenland", "Grenada ", "Guam ", "Guatemala", "Guernsey ", "Guinea ", "Guinea-Bissau", "Guyana", "Haiti ", "Honduras ", "Hong Kong ", "Hungary ", "Iceland ", "India ", "Indonesia ", "Iran ", "Iraq ", "Ireland ", "Isle of Man ", "Israel", "Italy ", "Ivory Coast", "Jamaica ", "Japan ", "Jersey ", "Jordan ", "Kazakhstan", "Kenya ", "Kiribati", "Kosovo", "Kuwait ", "Kyrgyzstan", "Laos ", "Latvia", "Lebanon ", "Lesotho ", "Liberia ", "Libya ", "Liechtenstein", "Lithuania", "Luxembourg", "Macau ", "Macedonia", "Madagascar", "Malawi", "Malaysia", "Maldives ", "Mali ", "Malta ", "Marshall Islands ", "Mauritania", "Mauritius ", "Mayotte ", "Mexico ", "Micronesia", "Moldova ", "Monaco ", "Mongolia", "Montenegro", "Montserrat", "Morocco ", "Mozambique", "Myanmar ", "Namibia ", "Nauru ", "Nepal ", "Netherlands", "Netherlands Antilles", "New Caledonia ", "New Zealand ", "Nicaragua ", "Niger ", "Nigeria", "Niue ", "North Korea", "Northern Mariana Islands", "Norway ", "Oman ", "Pakistan", "Palau ", "Palestine", "Panama ", "Papua New Guinea", "Paraguay ", "Peru ", "Philippines ", "Pitcairn ", "Poland ", "Portugal", "Puerto Rico", "Qatar ", "Republic of the Congo", "Reunion ", "Romania ", "Russia", "Rwanda ", "Saint Barthelemy", "Saint Helena", "Saint Kitts and Nevis", "Saint Lucia", "Saint Martin", "Saint Pierre and Miquelon", "Saint Vincent and the Grenadines", "Samoa ", "San Marino", "Sao Tome and Principe", "Saudi Arabia ", "Senegal ", "Serbia ", "Seychelles", "Sierra Leone", "Singapore", "Sint Maarten", "Slovakia", "Slovenia", "Solomon Islands", "Somalia ", "South Africa", "South Korea ", "South Sudan ", "Spain ", "Sri Lanka", "Sudan ", "Suriname", "Svalbard and Jan Mayen ", "Swaziland ", "Sweden ", "Switzerland", "Syria ", "Taiwan", "Tajikistan", "Tanzania ", "Thailand ", "Togo ", "Tokelau ", "Tonga ", "Trinidad and Tobago ", "Tunisia ", "Turkey ", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu ", "US Virgin Islands", "Uganda ", "Ukraine ", "United Arab Emirates", "United Kingdom ", "United States ", "Uruguay ", "Uzbekistan ", "Vanuatu ", "Vatican ", "Venezuela ", "Vietnam ", "Wallis and Futuna", "Western Sahara", "Yemen ", "Zambia", "Zimbabwe"}; public static String[] code = new String[]{ "93", "355", "213", "1-684", "376", "244", "1-264", "672", "1-268", "54", "374", "297", "61", "43", "994", "1-242", "973", "880", "1-246", "375", "32", "501", "229", " 1-441", "975", "591", " 387", "267", "55", "246", "1-284", "673", "359", "226", "257", " 855", "237", "1", "238", " 1-345", "236", "235", " 56", "86", " 61", "61", "57", "269", "682", " 506", "385", "53", "599", "357", "420", " 243", " 45", "253", "1-767", "1-809", "670", "593", "20", "503", "240", "291", "372", "251", "500", "298", "679", "358", "33", "689", "241", "220", "995", "49", "233", " 350", "30", "299", "1-473", "1-671", "502", "44-1481", "224", "245", "592", "509", "504", "852", "36", "354", "91", "62", "98", "964", "353", "44-1624", "972", "39", "225", "1-876", "81", "44-1534", "962", "7", "254", "686", "383", "965", "996", "856", "371", "961", "266", "231", "218", "423", "370", "352", "853", "389", "261", "265", "60", "960", "223", "356", "692", "222", "230", "262", "52", "691", "373", "377", "976", "382", "1-664", "212", "258", "95", "264", "674", "977", "31", "599", "687", "64", "505", "227", "234", "683", "850", "1-670", "47", "968", "92", "680", "970", "507", "675", "595", "51", "63", "64", "48", "351", "1-787", "974", "242", "262", "40", "7", "250", "590", "290", "1-869", "1-758", "590", "508", "1-784", "685", "378", "239", "966", "221", "381", "248", "232", "65", "1-721", "421", "386", "677", "252", "27", "82", "211", "34", "94", "249", "597", "47", "268", "46", "41", "963", "886", "992", "255", "66", "228", "690", "676", "1-868", "216", "90", "993", "1-649", "688", "1-340", "256", "380", "971", "44", "1", "598", "998", "678", "379", "58", "84", "681", "212", "967", "260", "263" }; public static String[] getCountry() { return country; } public static String[] getCode() { return code; } } 

И как использовать этот класс так:

  ////GETTING THE COUNTRY AND CODE ARRAY ARE AS FOLLOW:- ArrayList<String> codeArrayList = new ArrayList<String>(Arrays.asList(CountryDetails.getCode())); ArrayList<String> countryArrayList = new ArrayList<String>(Arrays.asList(CountryDetails.getCountry())); /////SETTING THE ADAPTER ACCORDING TO THE COUNTRY NAMES ArrayAdapter<String> adapter = new ArrayAdapter<String>(SignUpScreen.this, android.R.layout.simple_list_item_1, countryArrayList); YOUR_LIST_VIEW.setAdapter(adapter);///HERE YOUR_LIST_VIEW IS YOUR LISTVIEW NAME YOUR_LIST_VIEW.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { Toast.makeText(this,"COUNTRY NAME==>>"+countryArrayList.get(i),Toast.LENGTH_SHORT+" HERE IS THE COUNTY CODE==>>"+codeArrayList.get(i),Toast.LENGTH_SHORT).show(); } });