2010-01-27 6 views
5

Estoy creando una aplicación de Android, y tengo un problema para obtener recursos de string.xml.No se puede obtener el recurso de la aplicación de Android

Necesito tener una URL en String.xml que se utilizará varias veces a través de la aplicación.

Intenté Resources.getText("my_url"), pero esto no funciona. Eclipse se queja cuando uso esto.

¿Crees que esta es la mejor manera de hacerlo?

Respuesta

12

Lo que probablemente quiere decir:

String myUrl = getString(R.string.my_url); 

El getString() method is in Context lo que significa que está disponible directamente en su clase desde ActivityActivity es una subclase de Context. (El método getString() también está en Resources pero es más fácil llamar en él directamente en su Activity.)

¿Qué ocurre con los recursos XML es que cada uno se le asigna un ID único entero y esto se añade a la automatically generated R class como public static final int . A continuación, utiliza estos ID para hacer referencia a los recursos. Eche un vistazo en la carpeta gen en su proyecto Eclipse y encontrará la clase R allí.

+0

Gracias, verifico esto. Pero, si quiero obtener esta cadena fuera de una Actividad (en una clase auxiliar, por ejemplo), ¿puedo usar GetBaseContext(). GetString (clave)? – Luc

+2

No tengo idea de lo que 'GetBaseContext()' me temo. Paso un 'Contexto' a cada una de mis clases de ayuda para permitirles hacer cosas como esta. Sin embargo, tenga cuidado al hacer esto, como si se aferrara a una referencia al Contexto, puede perder memoria bastante mal. http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html –

+0

Gracias, ese es un buen punto y un muy buen artículo. Saludos, Luc – Luc

Cuestiones relacionadas