XMLを_/res/values/strings.xml
_内に配置できるかどうか疑問に思っていましたか?これは、アプリケーションのXMLデータファイルをチェックしているためです。まだ存在しない場合は、文字列リソースとして含まれるデフォルトのコンテンツから作成されます。
Eclipseは、GUIを使用して文字列を編集するときに、小なりタグと大なりタグを対応するHTMLエンティティに変更しようとします。 Eclipseは正しい方向に進んでいますか? HTMLエンティティとしてもファイルに書き出されると思うからです。エンティティをタグに戻すためにgetText()
ではなくgetString()
を使用できますか?
はい、できます。CDATAを使用してください
<string name="stringName1"><![CDATA[<html>bla</html>]]></string>
私はこのようにしました:
stringをstrings.xmlに入れます
<string name="my_string"><![CDATA[Your long text here]]></string>
使い方:
<TextView
Android:id="@+id/textView"
Android:text="@string/my_string"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content" />
完了
<や>や&などの文字をエスケープしない限り、機能しません。
XMLをエンコードする場合、XMLは正常に機能しますが、おそらく最善の方法ではありません。私はバイナリリソースを好みます。
String.xmlを入れるには、次を使用してエンコードできます
String encoded = URLEncoder.encode(xml);
そして、デコードはその逆です。
バイナリの場合は、RAWフォルダーに配置し、バイナリストリームを取得して文字列に変換して読み込みます。