我有一个应用程序通过添加values
,values-es
,values-ru
等文件夹进行了一些本地化。在每个文件夹中我都有一个名为strings.xml的文件,猜猜是什么,字符串。
其中一些需要使用所有语言,但有些只需要一个满足应用程序的内在需求。但是如果values/strings.xml
中的字符串在此文件的其他版本中丢失,则会导致错误。我尝试用
<resources>
<string name="key">Value</string>
...
</resources>
使用不同的名称,例如values/additionalStrings
,但它没有用。所以我只是复制了所有文件中的所有字符串来修复应用程序。但是我怎样才能避免它并在单独的.xml中存储一些额外的字符串?
问题的其他部分: 此外,如果有可能(我猜,它是)存储更多信息,如
<resources>
<customObject name="myName">
text = "Value"
extraField = 3.14
</customObject >
...
</resources>
在自定义xml中并通过通常的R.filename.objectName.subFieldName
获取它,它会很棒。我该怎么做?
答案 0 :(得分:1)
您要存储的字符串类型不是XML,因此尝试将它们存储在XML文件中并没有多大意义。 Android不会解析元素的内部内容,并根据它找到的内容在R
文件中创建常量。
另一种方法是将文件存储为纯文本或其他格式(如JSON),并将文件放在应用程序的raw
文件夹中。然后,您可以使用openRawResource()阅读它,然后根据需要进行解析。