Android Definisci stringhe


Esempio

Le stringhe sono in genere memorizzate nel file di risorse strings.xml . Sono definiti utilizzando un elemento XML <string> .

Lo scopo di strings.xml è di consentire l'internazionalizzazione. È possibile definire un file strings.xml per ogni codice ISO. Pertanto, quando il sistema cerca la stringa "nome_app", verifica innanzitutto il file xml corrispondente alla lingua corrente e, se non viene trovato, cerca la voce nel file strings.xml predefinito. Ciò significa che puoi scegliere di localizzare solo alcune delle tue stringhe mentre non altre.

/res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Hello World App</string>
    <string name="hello_world">Hello World!</string>
</resources>

Una volta definita una stringa in un file di risorse XML, può essere utilizzata da altre parti dell'app.

I file di progetto XML di un'app possono utilizzare un elemento <string> facendo riferimento a @string/string_name . Ad esempio, il file manifest di app (/manifests/AndroidManifest.xml) include la seguente riga per impostazione predefinita in Android Studio:

android:label="@string/app_name"

Questo dice ad Android di cercare una risorsa <string> chiamata "nome_app" da usare come nome per l'app quando viene installata o visualizzata in un launcher.

Un'altra volta che usereste una risorsa <string> da un file XML in Android si troverà in un file di layout. Ad esempio, il seguente rappresenta un TextView che mostra la stringa hello_world definita in precedenza:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world"/>

Puoi anche accedere alle <string> risorse dalla porzione java della tua app. Per richiamare la nostra stessa stringa hello_world dall'alto in una classe di attività, utilizzare:

String helloWorld = getString(R.string.hello_world);