【发布时间】:2017-02-22 07:19:47
【问题描述】:
正如您在下面的 JSON 中看到的,我想代表世界上所有的国家。对于 Firebase 反序列化,我开始创建 Germany.java、Italy.java 之类的类,但后来它击中了我,我必须编写 249 个类,在 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,字段code(LK、SD、SR等)和name,然后将json解析成这个类。 -
不确定我是否理解,顺便说一句,
administrative_area_level_1/Stockholms län/locality..的路径可能对一半的国家/地区有所不同。像日本有很多administrative_area_level -
为什么每个国家都需要一个单独的课程?每个国家都有相同或相似的领域,它们都属于同一个类——国家。不要用国家名称来命名类,只需创建一个名为
name的字段并在其中写入国家名称。 -
是的,你的权利,我会尝试一些
标签: android memory-management firebase object-initializers