是否可以在JSON文件中使用Android资源引用

时间:2018-07-07 11:51:38

标签: android json android-resources

假设我有一个静态文件res/raw/questions.json,其中包含以下内容:

[
  {
    "text": @string/question_1_text,
    "image": @drawable/question_1_image
  },
  {
    "text": @string/question_2_text,
    "image": @drawable/question_2_image
  },
  ...
]

是否有某种方法可以在运行时之前将这些引用自动解析为整数ID?

我可以将数据存储在typed array中,但是我非常喜欢JSON,因为它易于反序列化。

1 个答案:

答案 0 :(得分:0)

如果突然这仍然相关。在Json文件中,你可以放上你需要的资源的名字,通过名字找到这个资源。 例如,您有以下 strings.xml

<resources>
<string name="example_string">Hello, world!</string>
</resources>

您的 json 文件将包含字符串的名称。 Sample.json

{
  "greeting": "example_string"
}

您所要做的就是在资源中按名称找到这个字符串:

context.getResources().getIdentifier(resourceName, "string", context.getPackageName());