2016-05-31 2 views
-2

Ich lerne Andoid Entwicklung mit Android Programmierung: Die Big Nerd Ranch Guide Buch. In Kapitel 2 entwickelt Buch einen Quiz-App, wo es Fragen in string.xml Datei speichert wie folgt:Wie man mehrere Zeichenketten als einzelnes Array in der Datei String.xml speichert

<string name="question_mideast">The Suez Canal connects the Red Sea 
and the Indian Ocean?</string> 

Das Problem bei diesem Ansatz ist, wenn ich eine Menge von Strings habe ich (etwa 1000), kann ich nicht Rufen Sie jede Zeichenfolge nach ihrem Namen auf. Ein besserer Weg ist vielleicht das Speichern von Strings in einem Array. So dass ich eine bestimmte Zeichenfolge als Zeichenfolge [2] [23] (d. H. Zeichenfolge von Kapitel 2, Text Nummer 23) aufrufen kann.

  1. Können Sie mir sagen, wie Sie Zeichenfolgen in String.xml-Dateien als Array speichern?

  2. Gibt es einen besseren Weg zu handeln, wenn Sie viele Strings haben, in Bezug auf die Leistung.

+0

auf '.txt' legen und davon lesen. –

Antwort

1

Bewahren Sie es in arrays.xml statt. Überprüfen Sie this Beispieldatei.

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<string-array name="your_string"> 
    <item>A</item> 
    <item>B</item> 
    <item>C</item> 
    <item>D</item> 
</string-array> 
</resources> 

Lesen Sie es in Java-Code als.

String[] mTestArray = getResources().getStringArray(R.array.your_string); 
+0

Hallo Abdul, es sagt "kann getResources() nicht auflösen". Kannst du helfen? – SKG

+0

Nennen Sie es von einem 'Kontext' wie eine' Aktivität'. Woher nennst du es? –

1

User String-Array

<string-array name="planets_array"> 
    <item>Mercury</item> 
    <item>Venus</item> 
    <item>Earth</item> 
    <item>Mars</item> 
</string-array> 
+0

Dieses Beispiel wurde aus der Dokumentation kopiert. Sie sollten das zumindest erwähnen. – rekire

+0

@rekire Bitte geben Sie mir Link Ich habe es aus Navigationsschublade Beispiel –

+0

https://developer.android.com/guide/topics/resources/string-resource.html#StringArray – rekire

Verwandte Themen