2012-03-06 18 views
6

¿Se pueden cambiar los valores de R.string mediante programación en un programa de Android? Necesito extraer cierta información de la API (por ejemplo, estado de la batería, porcentaje de la batería, versión del sistema operativo Android) y me gustaría guardar un valor R.string. Yo sé cómo leerlo:Cambiar el valor de R.String Programmatically

String helloValue= getResources().getString(R.string.hello); 

También he visto: Change value of R.string programically? pero parece que sólo implica cambiar el lenguaje y terminó haciéndolo de una manera diferente. ¿Alguien puede ayudar, por favor? También he mirado aquí: http://developer.android.com/guide/topics/resources/string-resource.html y no encontré nada para ayudar a cabo bien :(

+1

Las cadenas en R se generan en la compilación y no pueden modificarse hasta donde yo sé. En su lugar, podría guardar sus cadenas como SharedPreferences: http://developer.android.com/guide/topics/data/data-storage.html#pref – Jave

Respuesta

11

Usted puede' t cambia strings.xml de forma dinámica ya que es un recurso compilado. Existen otros mecanismos para guardar datos en Android, aquí hay una buena publicación que cubre este tema: Data Storage. Espero que esto ayude.

2

Si necesita ahorrar pequeñas cantidades de información de la cadena que debe utilizar SharedPreferences eso es exactamente lo que es para :)

0

Hay muchas maneras de finalizar sus ideas. Pero no puede cambiar su recurso String (ni su recurso R.java) ni su recurso de diseño, ... ni ningún otro recurso. Puede hacer esto cambiando el recurso por activos. esto puede leer y escribir :)

0

Puede obtener el valor del valor res/string de esta manera.

String str = getResources().getString(R.string.<name_of_value>); 

Ahora puede seguir utilizando este valor de esta (str) variable de cadena.
Pero según yo no hay forma de establecer el valor de res/cadena

Cuestiones relacionadas