在Android Droid,Android 2.1上保存文件有问题吗?

时间:2010-04-23 18:20:54

标签: android motorola-droid

我的两个用户报告了我的Android应用程序OftSeen Gestures的问题。他们两个都在使用摩托罗拉Droid。该应用程序保存一个文本文件,它只是一个手势名称和电话号码列表,两个字符串。它将文件保存到私有数据区域。我不知道这个代码是否失败,但是在电话退出屏幕睡眠后,它们会报告指定的数字消失。由于每次都在OnCreate中重读文件,我假设文件在返回时不存在。

一旦我可以拿到Droid,我就会调试它,但同时你能看到为什么这个保存操作会在Droid上失败的原因(没有其他用户报告过这个)?

    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返回应用程序上下文,MAPPINGS_FILE_NAME解析为“gesture_mappings.txt”。

像我说的那样,我不知道这是问题所在。它可能与应用程序内的状态管理有关。如果有人有Droid,也许他们可以从Market下载应用程序并为我测试?请注意,这是一个真正的帮助请求 - 而不是尝试增加我的下载量。

1 个答案:

答案 0 :(得分:0)

这被诊断为由扩展字符集引起,导致换行符被误解,并通过使用UTF8显式写入文件来解决。请参阅How to read and write UTF-8 to disk on the Android? 1