Android 在安卓系统中,有没有办法从国家名称中获取国家资本?
嗨,我是android新手,目前我有一个应用程序,可以显示谷歌地图。当用户接触到一个国家时,我会得到该国家的名称,如下所示:Android 在安卓系统中,有没有办法从国家名称中获取国家资本?,android,google-maps-api-3,gps,location,Android,Google Maps Api 3,Gps,Location,嗨,我是android新手,目前我有一个应用程序,可以显示谷歌地图。当用户接触到一个国家时,我会得到该国家的名称,如下所示: addresses = geocoder.getFromLocation(point.latitude, point.longitude, 1); selectedCountry = address.getCountryName(); 我将此国家/地区名称传递给一个新活动,以显示名称和资本?但我不知道如何从名称中获取资本?解决方案1: 您可以使用以下链接执行此操作:h
addresses = geocoder.getFromLocation(point.latitude, point.longitude, 1);
selectedCountry = address.getCountryName();
我将此国家/地区名称传递给一个新活动,以显示名称和资本?但我不知道如何从名称中获取资本?解决方案1: 您可以使用以下链接执行此操作:
https://restcountries.eu/rest/v2/name/{YourNameCountry}
您可以从中检索包含国家(包括首都)信息的JSON
另见:
然后是对JSON对象的简单请求
解决方案2:
同样的方法,但如果您不需要关于该国的所有信息,您可以使用以下方法检索资本:
https://restcountries.eu/rest/v2/name/{YourNameCountry}?字段=大写
解决方案3:
如果你不想从互联网上检索JSON文件,你可以下载它并将其存储在你的应用程序中
包含完整信息的所有国家:https://restcountries.eu/rest/v2/all
仅限资本的所有国家:
https://restcountries.eu/rest/v2/all?fields=name;大写字母
解决方案1:
您可以使用以下链接执行此操作:https://restcountries.eu/rest/v2/name/{YourNameCountry}
您可以从中检索包含国家(包括首都)信息的JSON
另见:
然后是对JSON对象的简单请求
解决方案2:
同样的方法,但如果您不需要关于该国的所有信息,您可以使用以下方法检索资本:
https://restcountries.eu/rest/v2/name/{YourNameCountry}?字段=大写
解决方案3:
如果你不想从互联网上检索JSON文件,你可以下载它并将其存储在你的应用程序中
包含完整信息的所有国家:https://restcountries.eu/rest/v2/all
仅限资本的所有国家:https://restcountries.eu/rest/v2/all?fields=name;首都
[{“名称”:“阿富汗”,“首都”:“喀布尔”},{“名称”:“奥兰群岛”,“首都”:“马里哈姆”},{“名称”:“阿尔巴尼亚”,“首都”:“地拉那”},{“名称”:“阿尔及利亚”,“首都”:“阿尔及尔”},{“名称”:“美属萨摩亚”,“首都”:“帕戈帕戈”},{“名称”:“安道尔”;“首都”:“安道尔拉维拉“山谷”},{“名称”:“南极洲”、“首都”:“},{“名称”:“安提瓜和巴布达”、“首都”:“圣约翰”},{“名称”:“阿根廷”、“首都”:“布宜诺斯艾利斯”},{“名称”:“亚美尼亚”、“首都”:“埃里温”},{“名称”:“阿鲁巴”、“首都”:“奥兰杰斯塔德”},{“名称”:“澳大利亚”、“首都”:“堪培拉”},{“名称”:“奥地利”、“首都”:“维也纳”},{“名称”:“阿塞拜疆”、“首都”:“巴库”},{“姓名”:“巴哈马”、“首都”:“拿骚”},{“姓名”:“巴林”、“首都”:“麦纳麦”},{“姓名”:“孟加拉国”、“首都”:“达卡”},{“姓名”:“巴巴多斯”、“首都”:“布里奇敦”},{“姓名”:“白俄罗斯”、“首都”:“明斯克”},{“姓名”:“比利时”、“首都”:“布鲁塞尔”},{“姓名”:“伯利兹”、“首都”:“贝尔莫潘”},{“姓名”:“贝宁”、“首都”:“波尔图诺沃”{“姓名”:“百慕大”},{“首都”:“汉密尔顿”{“姓名”:“不丹”、“首都”:“廷布”},{“姓名”:“玻利维亚多民族国”{“首都”:“苏克雷”},{“姓名”:“博内尔、圣尤斯台乌斯和萨巴”、“首都”:“克拉伦代克”},{“姓名”:“波斯尼亚和黑塞哥维那”、“首都”:“萨拉热窝”},{“姓名”:“博茨瓦纳”、“首都”:“哈博罗内”},{“姓名”:“布维特岛”、“首都”:“},{“姓名”:“巴西”、“首都”:巴西利亚,{“名称”:“英属印度洋领土”,“首都”:“迭戈·加西亚”},{“名称”:“美国小离岛”,“首都”:“},{“名称”:“维尔京群岛(英国)”,“首都”:“路镇”},{“名称”:“维尔京群岛(美国)”,“首都”:“夏洛特·阿马里”},{“名称”:“文莱达鲁萨兰国”,“首都”:“斯里巴加湾班达尔”},{“名称”:“保加利亚”,“首都”}“:”索非亚“,”姓名“:”布基纳法索“,”首都“:”瓦加杜古“,”布隆迪“,”首都“:”布琼布拉“,”姓名“:”柬埔寨“,”首都“:”金边“,”姓名“:”喀麦隆“,”首都“:”雅温得“,”姓名“:”加拿大“,”首都“:”渥太华“,”姓名“:”佛得角“,”首都“:”普拉亚“,”姓名“,”开曼群岛“,”首都“:”乔治城“,”姓名“,”中非共和国“,”,“首都”;“班吉”;“名称”;“乍得”;“首都”;“恩贾梅纳”;“智利”;“首都”;“圣地亚哥”;“中国”;“首都”;“北京”;“名称”;“圣诞岛”;“首都”;“飞鱼湾”;“科科斯(基林)群岛”;“首都”;“西岛”;“哥伦比亚”;“首都”;“波哥大”;“科摩罗”;“首都”;“摩罗尼”;“名称”;“刚果”;“刚果”;”首都:布拉柴维尔,首都:刚果(民主共和国),首都:金沙萨,库克群岛,首都:阿瓦鲁阿,首都:哥斯达黎加,首都:圣何塞,首都:克罗地亚,首都:萨格勒布,首都:哈瓦那,首都:库拉索岛,首都:维勒姆斯塔德,首都:塞浦路斯,首都:尼科西亚,首都:捷克共和国,首都:布拉格,首都:哥本哈根,首都:吉布提,首都:多米尼加,首都:罗索,首都:圣多明各,首都:厄瓜多尔,首都:基多,首都:埃及,首都:开罗,首都:萨尔瓦多,首都:圣萨尔瓦多,首都:圣萨尔瓦多赤道几内亚,首都:马拉博,首都:厄立特里亚,首都:阿斯马拉,首都:塔林,首都:埃塞俄比亚,首都:亚的斯亚贝巴,首都:福克兰群岛(马尔维纳斯),首都:斯坦利,首都:法罗群岛,首都:托尔沙文,首都:斐济,首都:苏瓦,首都:芬兰,首都:赫尔辛基“法国”、“首都”:“巴黎”}、{“名称”:“法属圭亚那”、“首都”:“卡宴”}、{“名称”:“法属波利尼西亚”、“首都”:“帕佩特”}、{“名称”:“法国南部领土”、“首都”:“法兰西港”}、{“名称”:“加蓬”、“首都”:“利伯维尔”}、{“名称”:“冈比亚”、“首都”:“班珠尔”}、{“名称”:“格鲁吉亚”、“首都”:“第比利斯”}、{“名称”:“德国”、“首都”:“柏林”}、{”名称“:”加纳“,”首都“:”阿克拉“},{”名称“:”直布罗陀“,”首都“:”直布罗陀
String country_name = "selectedCountry";
try {
JSONArray jsonArray = new JSONArray(loadJSONFromAsset());
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String cou_name = jsonObject.getString("name");
String cou_cap = jsonObject.getString("capital");
if (cou_name.equalsIgnoreCase(country_name)) {
Toast.makeText(this, "capital " + cou_cap, Toast.LENGTH_SHORT).show();
//Here you will get the capital of respected country.
break;
}
}
} catch (Exception e) {
}
public String loadJSONFromAsset() {
String json = null;
try {
InputStream is = getAssets().open("capitals.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
return json;
}