¿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?
- Android getResource en la clase non activity de una clase Non Activity?
- WebView, agrega el archivo .CSS local a una página HTML?
- Error: (27) No se encontró ningún identificador de recurso para el atributo 'srcCompat' en el paquete 'com.example.jaisonjoseph.newsclient'
- Reproducir archivo de audio desde el directorio de activos
- ¿Cómo asigno un dibujable a ImageView
Actualización: Actualizar y luego limpiar el proyecto de nuevo no ayuda.
- Cómo excluir archivos en carpeta "/ res" de un proyecto Android Eclipse
- No se encuentran recursos de Android en algunos dispositivos
- Recursos HTML de Android con referencias a otros recursos
- Constantes para tipos de recursos en Android
- ¿Qué límites hay en el número de recursos de Android?
- Resumen de la tabla de referencia local de JNI (512 entradas)
- Dimens.xml en la carpeta de valores de 7 "y 10" tableta, ¿cómo?
- Android define la forma XML como dibujable mediante programación
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
- Desinstalación de la aplicación desde el teléfono
- 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…