【问题标题】:What is the best way to represent all countries in the world in Android?在 Android 中代表世界上所有国家/地区的最佳方式是什么?
【发布时间】:2017-02-22 07:19:47
【问题描述】:

正如您在下面的 JSON 中看到的,我想代表世界上所有的国家。对于 Firebase 反序列化,我开始创建 Germany.javaItaly.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


【解决方案1】:

拥有一个名为“Country.java”的类以及所有公共属性。

Country.java

public class Country
{
     String Name;
     String Code;
}

这允许您在多个场景中使用相同的属性

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多