web-dev-qa-db-ja.com

Android文字列リソース内のXML?

XMLを_/res/values/strings.xml_内に配置できるかどうか疑問に思っていましたか?これは、アプリケーションのXMLデータファイルをチェックしているためです。まだ存在しない場合は、文字列リソースとして含まれるデフォルトのコンテンツから作成されます。

Eclipseは、GUIを使用して文字列を編集するときに、小なりタグと大なりタグを対応するHTMLエンティティに変更しようとします。 Eclipseは正しい方向に進んでいますか? HTMLエンティティとしてもファイルに書き出されると思うからです。エンティティをタグに戻すためにgetText()ではなくgetString()を使用できますか?

42
Olical

はい、できます。CDATAを使用してください

<string name="stringName1"><![CDATA[<html>bla</html>]]></string>

78
Alexander Stolz

私はこのようにしました:

stringstrings.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" />

完了

2
Hiren Patel

<や>や&などの文字をエスケープしない限り、機能しません。

XMLをエンコードする場合、XMLは正常に機能しますが、おそらく最善の方法ではありません。私はバイナリリソースを好みます。


String.xmlを入れるには、次を使用してエンコードできます

String encoded = URLEncoder.encode(xml);

そして、デコードはその逆です。

バイナリの場合は、RAWフォルダーに配置し、バイナリストリームを取得して文字列に変換して読み込みます。

2
Aliostad