在Android中代表世界上所有国家的最佳方式是什么?
问题描述:
正如你在下面的JSON中看到的,我想代表世界上所有的国家。对于Firebase反序列化,我开始创建像Germany.java
,Italy.java
这样的类,但后来它碰到了我,我必须编写249个类,并且在Android中涉及内存和资源使用时,最佳方式是什么?当然,我当时从未初始化过多。在Android中代表世界上所有国家的最佳方式是什么?
想到也许Firebase可以完成这项工作,但我必须为此付钱。正在考虑用户的设备可以下载他需要的国家,但这可能会花费我一些。
"LK": {
"name": "Sri Lanka"
},
"SD": {
"name": "Sudan"
},
"SR": {
"name": "Suriname"
},
"SJ": {
"name": "Svalbard and Jan Mayen"
},
"SZ": {
"name": "Swaziland"
},
"SE": {
"name": "Sweden",
"ADMINISTRATIVE_AREA_LEVEL_1": {
"Stockholms län": {
"LOCALITY": {
"Stockholm": {
"STREET_ADDRESS": {
"Björngatan 36": {
"id": "KQqv0SYDBP_DMTtJupC",
"path": "SE/ADMINISTRATIVE_AREA_LEVE...",
"somekey": ".....",
}
}
}
}
}
}
},
答
有一个名为'Country.java'的类以及所有常用属性。
Country.java
public class Country
{
String Name;
String Code;
}
这使您可以使用多个场景相同的属性
创建一个类'Country',带有字段'code'(LK,SD,SR等。 )和'name',然后将json解析到这个类中。 – mol
不知道我明白,顺便说一下,路径'administrative_area_level_1/Stockholmslän/ locality..'对于大概一半的国家来说是不同的。像日本有许多'administrative_area_level' –
为什么你需要为每个国家单独的课程?每个国家都有相同或相似的领域,它们都属于同一个类别 - 国家。不要用国家的名字命名班级,只要创建一个名为'name'的字段并为其写上国家名称即可。 – mol