6.7.2.-
Programación en Android - Texto de ayuda localizado
En el anterior capítulo
habíamos realizado la actividad de ayuda, en la que se
mostraba un texto, el cual cargábamos desde un recurso raw.
En ese momento se indicó que eso se podría haber hecho
con un recurso string y que al hacerlo a través del
recurso string tendríamos localización que de la otra
forma perderíamos.
Pues en este capítulo veremos
como tener localización teniendo el fichero de texto en la
carpeta raw, además veremos como acceder a los recursos
a través de su nombre.
Para poder tener localización
vamos a añadir un nuevo recurso de tipo string al fichero
string.xml (en la carpeta values, que será el
que esté localizado):
Tipo
|
Nombre
|
Valor
|
String
|
fichero_texto_ayuda
|
ayuda
(nombre
del fichero que tiene la ayuda)
|
Debemos recordar que de momento la
carpeta values, tiene la localización por defecto, más
tarde debemos añadir values-es... etc para tenerla para
español y dejar esa en inglés. Después
editaríamos el fichero values y pondríamos el
string de fichero_texto_ayuda con el valor help (que
es el nombre del fichero de ayuda en inglés).
Al realizar esto, vemos como la
cadena de texto es distinta según el fichero en el que se
halle.
Ahora
para poder hacer uso de esto, utilizaremos el método
getIdentifier(param1,
param2, param3), y los
parámetros de esté metodo son: param1:
string con el nombre
del fichero, param2:
tipo de recurso, param3:
package.
Modificaremos
el método para cargar el fichero de ayuda (cargarFicheroAyuda)
añadiendo lo siguiente (y comentando lo indicado):
//Cargamos
el fichero sin internacionalización:
//InputStream
iFichero = getResources().openRawResource(R.raw.ayuda);
/**
*
En caso de querer hacer localización, realizaríamos
lo siguiente:
*
Crearíamos el el archivo string.xml un recurso string con
el
*
valor del fichero de texto para esa lengua: help, ayuda, etc.. Ya
*
que el fichero strings estará localizado.
*/
String
fichero = getResources().getString(R.string.fichero_texto_ayuda);
//Esta
línea se ha incorporado en una sóla llamada.
//int
idfichero = getResources().getIdentifier(fichero, "raw",
// "com.blogspot.pafh99.cursoandroid.CorrectoIncorrecto");
InputStream
iFichero = getResources().openRawResource(
getResources().getIdentifier(fichero,
"raw",
"com.blogspot.pafh99.cursoandroid.CorrectoIncorrecto"));
|
Con esto nos cargaría el
fichero de texto indicado en values-xx o en su defecto
values.
Ver.
1.0 – Revisión 12/03/2012
No hay comentarios:
Publicar un comentario