在内部存储/共享首选项中持久存储三个数组的最简单方法是什么?

时间:2014-03-01 18:39:45

标签: java android arrays storage

我对Android编程很新。对于电脑展,我决定做一个简单的闪存卡应用程序。这包括将用户数据(问题,答案,卡片类别)存储在三个阵列中的活动。

如何轻松保存这些字符串数组并维护顺序?在这种情况下,顺序很重要,因为问题[3]的答案是答案[3]和类别卡集[3]。

我并不关心存储数据的位置,因为它不会太多(最多只有几百个字符串。)如何以快速简单的方式做到这一点,这将使我能够从应用程序的任何地方访问它?

(事实证明,SQL数据库实施起来太难了。)

1 个答案:

答案 0 :(得分:0)

来自this link

保存数组

public boolean saveArray(String[] array, String arrayName, Context mContext) {   
    SharedPreferences prefs = mContext.getSharedPreferences("preferencename", 0);  
    SharedPreferences.Editor editor = prefs.edit();  
    editor.putInt(arrayName +"_size", array.length);  
    for(int i=0;i<array.length;i++)  
        editor.putString(arrayName + "_" + i, array[i]);  
    return editor.commit();  
} 

加载数组

public String[] loadArray(String arrayName, Context mContext) {  
    SharedPreferences prefs = mContext.getSharedPreferences("preferencename", 0);  
    int size = prefs.getInt(arrayName + "_size", 0);  
    String array[] = new String[size];  
    for(int i=0;i<size;i++)  
        array[i] = prefs.getString(arrayName + "_" + i, null);  
    return array;  
}