Recursos matriz string, Android Studio

En este tutorial vamos a ver como crear un recurso en forma de array string, también veremos como usarlo en la practica dentro de tu app.

Si quieres ver como agregar una resource string sencillo ve a este link.

Recursos de String (String resources).

Descripción.

Un recurso de Matriz string es muy similar a un recurso string sencillo. Puedes crear uno dentro del archivo string.xml. O bien crear tu propio archivo array.xml. El nombre del archivo no importa siempre y cuando sepas hacer la referencia hacia tu archivo, y que este configurado correctamente.

¿Donde se localiza?

Tu archivo string.xml, tiene que estar dentro de la carpeta res/values/string.xml

El nombre del archivo es arbitrario como ya se mencionó. Un un recurso en forma de matriz tipo string, tiene 2 componentes principales, uno es la ID de la matriz que seria el “name”. El otro son los Items que van dentro de la matriz, cada Item tiene su propio texto.

¿Como se declara?

Es muy simple, y casi igual a un string sencillo. Solo se colocan los Items  con su respectivo texto dentro de el array.

<?xml version="1.0" encoding="utf-8"?>

<resources>

   <string-array  name="id_array_string">

      <item>texto 0</item>

      <item>texto 1</item>

   </string-array>

</resources>

¿Como se obtiene el array string en java?

Para esto tienes que usar la ID de tu array-string, la cual es el parámetro “name”. Un ejemplo de como hacerlo es el siguiente:

Resources res = getResources();

String[] myArray = res.getStringArray(R.string.id_array_string);

Donde:

R indica recursos,

string es el nombre del archivo xml

id_array_string es la id del array-string.

 

Con esto ya tienes un recurso en forma de matriz tipo string declarado en los recursos de tu aplicación. Así puedes editarlo fácilmente, sin necesidad de declararlo y editarlo cada ves que lo vayas a usar.

Tal ves el formato mas mas tedioso y poco mas complejo de llenar (aunque nada del otro mundo). Pero ahorra mucho tiempo y tal ves fallos al momento de editarlo.