Pregunta

Dos de mis usuarios han informado de un problema con mi aplicación Android, OftSeen gestos. Ambos de ellos están utilizando un Motorola Droid. La aplicación guarda un archivo de texto que es sólo una lista de nombres y números de teléfono gesto, ambas cadenas. Se guarda el archivo en el área de datos privada. No sé que es el código que está fallando, pero el informe de los números asignados desaparecen después de que el teléfono viene del sueño pantalla. Dado que el archivo se vuelve a leer en OnCreate cada vez, estoy suponiendo que el archivo no existe en el retorno.

Tan pronto como puedo conseguir mis manos en un Droid voy a depurarlo pero mientras tanto se puede ver que una razón por la cual esta operación de salvar fallaría en Droid (no hay otros usuarios han informado de esto)?

    OutputStreamWriter out = new OutputStreamWriter(AppGlobal.getContext().openFileOutput(MAPPINGS_FILE_NAME, 0));

    for (String key : mMap.keySet()) {
        String number = mMap.get(key).number;
        out.write(String.format("%s,%s\n", key, number == null ? "" : number));
    }
    out.close();

AppGlobal.getContext devuelve el contexto de aplicación y que se resuelve la MAPPINGS_FILE_NAME a "gesture_mappings.txt".

Como digo, no sé que este es el problema. Podría ser algo más que ver con la administración del estado dentro de la aplicación. Si alguien tiene un Droid, tal vez podría descargar la aplicación desde Mercado y probarlo para mí? Tenga en cuenta que esto es una petición genuina en busca de ayuda. - no un intento de aumentar mis descargas

¿Fue útil?

Solución

Esta fue diagnosticado como causadas por los juegos de caracteres extendidos que causan saltos de línea a ser mal interpretados y se resolvió por escrito de forma explícita el archivo con UTF8. Ver Cómo leer y escribir UTF 8 en el disco en el Android? 1

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top