2011-01-04 19 views
12

Tengo diferentes archivos strings.xml en mis carpetas de recursos (valores, values_fr, values_de ...), y me gustaría cargar traducciones adicionales durante el tiempo de ejecución. ¿Es posible agregar las nuevas cadenas a esos archivos, incluso si ya se ha compilado? ¿O hay una solución alternativa?¿Cómo puedo generar recursos XML en tiempo de ejecución en Android?

Respuesta

9

La respuesta simple es que no se puede. No puede modificar cosas codificadas en recursos APK.

Pero hay algunas opciones. Por ejemplo, usted puede:

  • Digamos que lee un recurso, modificarlo y guardarlo en otra carpeta externa (tarjeta SD o algo así)
  • Crear AssetManager sobre los archivo (s)
  • A continuación, cree Resources que puede usarse más tarde como recurso normal de Android almacenado en APK
+0

Ok, gracias! Eso parece ser lo que necesito. ¿Es posible cargar a través de "AssetManager" algo más que XML? Por ejemplo, JSON o cadena formateada? – Hrk

+0

No sé sobre la posibilidad de cargar JSON, lo siento. – barmaley

+0

@Hrk: Sí lo es. Puede cargar todo lo que desee como flujo sin procesar desde un activo: http://developer.android.com/reference/android/content/res/AssetManager.html#open(java.lang.String) –

Cuestiones relacionadas