2012-11-28 54 views
0

我構建了一個簡單的程序(一個包含10條命令的數組字符串),後來我創建了另一個類(用於選擇其他活動的索引)。共享偏好(putStringSet)還是其他?

我想通過保存的首選項保存此數組,所以用戶重新啓動應用程序時可以從最後一點繼續。

,我讀了putStringSet只能從API 11,而我會保持compatibily也是2.3版

有沒有辦法救一個數組字符串?

謝謝!

+0

你可以序列化並放入。尋找一個序列化類。否則你可以把它一個一個這樣的:http://www.sherif.mobi/2012/05/string-arrays-and-object-arrays-in.html – mango

+0

@mango這是一個很好的解決方案,爲什麼不你添加它作爲答案? –

+0

謝謝!把它一個接一個,這是一個好方法嗎? (我的數組將超過700個條目)。 –

回答

2

我會使用for循環將字符串數組轉換爲常規字符串,並使用分隔符作爲示例「|」並使用putString保存。當檢索它時,我會使用相同的分隔符分割字符串並重建數組。

private String GetString(String[] array, String delimiter) 
{ 
    StringBuilder sb = new StringBuilder(); 
    for(String s : array) 
    { 
     if(sb.length() > 0) { sb.append(delimiter);} 
     sb.append(s); 
    } 

    return sb.toString(); 
} 

private String[] GetArray(String input, String delimiter) 
{ 
    return input.split(delimiter); 
} 

使用時的getArray因爲String.split()假定正則表達式作爲分隔符要小心,所以如果你使用字符「|」你必須逃避它,例如。 GetArray(myArray,「\\ |」);希望這可以幫助。

+0

mhmh ...我搜索了很多,但是我沒有發現任何東西... :-(我如何構建這種方法?謝謝! –

+0

我用代碼更新了答案。 – Hyperlisk