0

我有一个应用程序,通过添加诸如values,等文件夹进行了一些本地化。在每个文件夹中values-esvalues-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,那就太棒了。我该怎么做?

4

1 回答 1

1

您要在此处存储的字符串类型不是 XML,因此尝试将它们存储在 XML 文件中实际上没有任何意义。Android 不会解析元素的内部内容并R根据它找到的内容在文件中创建常量。

另一种方法是将文件存储为纯文本或其他格式(如 JSON),然后将文件放入raw应用程序的文件夹中。然后,您可以使用openRawResource()读取它,并根据需要对其进行解析。

于 2012-10-13T12:49:37.003 回答