在Android中代表世界上所有国家的最佳方式是什么?

在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": ".....", 
       } 
      } 
      } 
     } 
     } 
    } 
    }, 
+0

创建一个类'Country',带有字段'code'(LK,SD,SR等。 )和'name',然后将json解析到这个类中。 – mol

+0

不知道我明白,顺便说一下,路径'administrative_area_level_1/Stockholmslän/ locality..'对于大概一半的国家来说是不同的。像日本有许多'administrative_area_level' –

+0

为什么你需要为每个国家单独的课程?每个国家都有相同或相似的领域,它们都属于同一个类别 - 国家。不要用国家的名字命名班级,只要创建一个名为'name'的字段并为其写上国家名称即可。 – mol

有一个名为'Country.java'的类以及所有常用属性。

Country.java

public class Country 
{ 
    String Name; 
    String Code; 
} 

这使您可以使用多个场景相同的属性