假设我有一个静态文件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,因为它易于反序列化。
答案 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());