¿Por qué no se actualizan mis archivos de activos?

Mi programa abre un archivo .txt de la carpeta de activos y lee de él. Aquí está el código:

AssetManager myAssetManager = myContext.getAssets(); try{ InputStream is = myAssetManager.open("databaseeleven.txt"); byte[] bytes = new byte[is.available()]; is.read(bytes); commands = new String(bytes); } catch(IOException e){ Toast.makeText(myContext, e.getMessage(), Toast.LENGTH_SHORT).show(); e.printStackTrace(); }//try-catch 

He notado que cuando hago cambios en el archivo llamado databaseeleven.txt y guardar el archivo, mis cambios no se reflejan en el emulador cuando vuelvo a ejecutar mi programa. El proyecto se guarda en una unidad de memoria. Lo comprobé para asegurarse de que sólo hay un archivo con ese nombre, y está actualizado. Sé que la aplicación se vuelve a descargar debido a los cambios en el código. Estoy utilizando egit, Eclipse versión 3.6.2 y ADT versión 10.0.1. ¿Alguien sabe por qué mi programa no está funcionando con este archivo guardado?

Actualización: Actualizar y luego limpiar el proyecto de nuevo no ayuda.

Si he entendido su problema correctamente, usted está intentando alterar el archivo en la carpeta /assets . Cambiar el contenido .apk después de firmar el paquete no es posible.

Si el archivo es pequeño, cópielo en el app's private data directory su app's private data directory .

Si el archivo es más grande, cópielo en la /sdcard .

¿Cuál es el tamaño de archivo de databaseeleven.txt?

Hay un límite de 1 MB por archivo para el archivo de activos, si el tamaño del archivo excede este límite, no estará disponible en su apk.

Si este es su caso, hay dos alternativas que conozco:

  • Divida el archivo en fragmentos de 1 MB, tiene un ejemplo en esta pregunta de SO
  • Utilice una extensión de archivo que no se comprime por Android, como se sugiere aquí . Tenga en cuenta que su archivo no se comprimirá y probablemente terminará con un apk grande.

NOTA: Parece que el límite de 1 MB se eliminó en Android 2.3, por lo que sólo se aplica a 2.2 y menores.

Me estaba sucediendo con un archivo .sqlite en la carpeta de activos y lo resolví por

  1. Desinstalación de la aplicación desde el teléfono
  2. Y la reconstrucción.

Limpie el proyecto después de editar el archivo …. espero que esto ayude

Hi intentar después de actualizar el proyecto en eclipse y limpiar y construir de nuevo. Espero que puedas encontrar los cambios reflejados en el emulador

Si es un archivo txt de tu formato, deberías estar haciendo algo como esto

 InputStream ins = getResources().openRawResource(R.raw.options); 

Donde "options" es el archivo options.txt en la carpeta ~ / res / raw.

Cualquier cambio en este archivo seguirá necesitando publicar / desplegar de nuevo al dispositivo / emulador para que tenga el último apk.

Espero que esto ayude…

  • ¿No puede anular el recurso xml de la biblioteca con el recurso png en la aplicación?
  • Android OnClickListener - identificar un botón
  • Compartir recursos en bruto a través de WhatsApp
  • Obtención dinámica de los idiomas disponibles de la aplicación
  • Android Pluralización no funciona, necesita ayuda
  • Android Lint - Cómo ocultar una advertencia 'El recurso Xxx parece no estar utilizado'
  • Cómo extraer el atributo de nombre de matriz de cadena?
  • R.string; Obtener cadena de nombre de clave dinámica
  • Creación de estilos-v21.xml
  • ¿Hay una manera de obtener el código fuente de un archivo APK?
  • ADT muestra error en Strings.xml
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.