2015-02-06 97 views
0

我設法將它實現到我的代碼中並讓它工作,但是我的值是這樣來的:10.020.0,我怎麼能把一個空間在10.0和20.0之間,所以它來到10.0 20.0Android編輯文本文件並將字符串保存到共享首選項

此外,如果有人可以幫助我找出另一種方法將其保存到一個特定的sharedpreferences文件,而不是默認,所以例如統計sharedpreferences和檢索表中的另一個活動的值?我已經給它一個去了,但不知道它是否以同樣的方式工作,我需要sharedpreferences以與文本文件相同的方式工作。我使用文本文件,因爲我可以查看該文件,而sharedpreferences即時通訊無法看到發生了什麼事情。

SharedPreference嘗試:

public void AddStringSavedPreference(){ 

    SharedPreferences settings = this.getSharedPreferences("StatsPreference", Context.MODE_PRIVATE); 
    SharedPreferences.Editor editor = settings.edit(); 
    Set<String> statsStrings = settings.getStringSet("statsStrings", new HashSet<String>()); 

    statsStrings.add(Double.toString(weight)); 

    editor.putStringSet("statsStrings", statsStrings); 
    editor.commit(); 
} 

回答

1

對於該文件,如果你想在權重之間的空間,寫入文件時添加一個空格。

更改此:

osw.write(Double.toString(weight)); 

這樣:

osw.write(Double.toString(weight) + " "); 

這將導致:10.0 20.0。需要注意的一點是,現在文件中的最後一個重量會出現一個空格,當您正在讀取文件時,您需要對其進行解釋。

共享偏好對我來說看起來不錯。要查看這些值,請添加一個斷點並調試程序,或者添加日誌記錄並查看Logcat以查看日誌中的值 - logcat視圖通常會自動顯示,但如果不顯示,則取決於您是否使用Android Studio或Eclipse如何打開它。它也可以通過命令行看到。這可能幫助:https://developer.android.com/tools/debugging/debugging-studio.html對於記錄例如,使用代碼:

SharedPreferences settings = this.getSharedPreferences("StatsPreference", Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = settings.edit(); 
Set<String> statsStrings = settings.getStringSet("statsStrings", new HashSet<String>()); 

statsStrings.add(Double.toString(weight)); 

// log takes a tag as first value, which can be any value, usually application name 
Log.d("MyApplication", "Adding following values: " + statsStrings.toString()); 

editor.putStringSet("statsStrings", statsStrings); 
editor.commit(); 

檢索值。同樣,添加日誌將有助於看到值:

SharedPreferences settings = this.getSharedPreferences("StatsPreference", Context.MODE_PRIVATE); 
Set<String> statsStrings = settings.getStringSet("statsStrings", new HashSet<String>()); 
Log.d("MyApplication", "Retrieved following values: " + statsStrings.toString()); 
+0

不適編輯我的主貼給你看怎麼回事,我有一個默認的共享偏好,但我希望把這些在另一隻是讓我知道它的工作。 – Bimal 2015-02-06 18:52:16

+0

已將我的代碼添加到頂部 – Bimal 2015-02-06 19:23:04

+0

對不起,我不確定我是否完全理解您正在嘗試執行的操作。如果您希望以這種方式組織您的代碼,您可以擁有不同的SharedPreferences。只要您在添加和刪除值時調用相同的首選項名稱和添加到該首選項的相同名稱的值,那就沒有問題。 – sigute 2015-02-06 19:30:18