2012-08-03 7 views
21

Könnte jemand bitte erklären, warum hart codierte Strings so schlecht sind? Welche Probleme sollte ich erwarten, wenn ich Strings fest codiere? Warum löst eine separate XML-Zeichenkette diese Probleme?Warum strings.xml in Android verwenden?

Das Erstellen neuer Elemente in strings.xml ist eine zeitintensive Aktivität.

+0

nicht nur Lokalisierung, Zentralisierung ist auch einer der Faktoren. –

+3

[Android - Dokumentation] (http://developer.android.com/guide/topics/resources/string-resource.html) wird Ihnen besser erklären .. – user370305

Antwort

31

Wenn Sie Ihre Strings zu strings.xml hinzufügen, können Sie Ihre gesamte App ganz einfach in andere Sprachen übersetzen.

So im Ordner values würden Sie strings.xml mit diesem Inhalt haben:

<string name="hello">Hello</string> 

In values-fr ein strings.xml mit diesem Inhalt:

<string name="hello">Bonjour</string> 

Das spart Ihnen eine viel der Arbeit anstatt das hardcoded zu tun: Android wählt automatisch die richtige Sprache basierend auf Benutzereinstellungen, und Sie müssen sich keine Sorgen darüber machen, diese Sprache auszuwählen und anzuzeigen.

Bitte lesen Sie auch Localization | Android Developers.

11

Angenommen, Sie haben eine Zeichenfolge, z. B. ein Titel, der in jeder Aktivität Ihrer App wiederholt wird. Nun nehmen Sie an, nach einer Weile entscheiden Sie, diesen Titel zu ändern.

Mit strings.xml müssen Sie es an einem einzigen Ort ändern, während fest codierte Werte in jeder Aktivität geändert werden müssen.

0

Eine Zeichenfolge ist eine einfache Ressource, auf die mit dem im Attribut name angegebenen Wert verwiesen wird (nicht der Name der XML-Datei). So können Sie Zeichenfolgenressourcen mit anderen einfachen Ressourcen in der einen XML-Datei unter einem Element <resources> kombinieren.

Verwandte Themen