0

、などvaluesのフォルダーを追加してローカライズされたアプリがあります。すべてのフォルダーに、strings.xmlという名前のファイルがあります。それらのいくつかはすべての言語である必要がありますが、アプリの内部ニーズのために1つだけで必要なものもあります。ただし、このファイルの他のバージョンにない文字列がある場合は、エラーが発生します。でもう1つのファイルを追加しようとしましたvalues-esvalues-ruvalues/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 に答える