2010-04-23 34 views
1

我的兩個用戶都報告了我的Android應用程序,OftSeen手勢的問題。他們兩人都在使用摩托羅拉Droid。該應用程序保存一個文本文件,這是一個手勢名稱和電話號碼,這兩個字符串的列表。它將文件保存到私有數據區域。我不知道這是失敗的代碼,但他們報告指定的號碼在手機離開屏幕睡眠後消失。由於每次都在OnCreate中重新讀取文件,因此我假定該文件在返回時不存在。在Motorola Droid,Android 2.1上保存文件問題?

只要我能得到我的手在我的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下載應用程序併爲我測試它?請注意,這是一個真正的幫助請求 - 而不是嘗試增加我的下載量。

+0

似乎不太可能,但由於只的Droid(Android 2.1的)用戶報告這一問題,也可能是與行結束的問題嗎? – 2010-04-26 08:34:49

+0

從同一個問題一個Nexus One用戶只需一個詳細的報告,所以它似乎更可能的是Android 2.1的問題,但它的工作原理在模擬器上沒問題。 – 2010-04-28 07:15:13

+0

我從我的一位用戶那裏收到了一些很好的診斷信息。他碰巧是法國人,並且注意到如果他使用了重音字符,他們會引發這個問題。所以我想知道這是否與字符集有關。 他給出的例子中的一個條目是這樣的: Hervé,12345678 看來,當文件重新讀取時,數字會丟失。我使用: while((str = reader.readLine())!= null){ ... String [] kv = str.split(「,」,2); ... } – 2010-04-28 23:07:20

回答