-2

文字列のリストを保存するための最良の方法を見つけようと、多くの時間を費やしてきました。私のアクティビティは、文字列を入力するための編集テキスト、それを追加するためのボタン、そして追加された文字列と以前に追加されたすべての文字列を表示するリストビューを表示します。これにはSQLiteはやり過ぎだと思いますが、共有設定にリストを保存する方法がわかりません。JSON と GSON について言及している人がいると聞いたことがありますが、私はどちらも経験がなく、どちらのオプションが最適かはわかりません。

この状況に最適な方法についてアドバイスをいただければ幸いです。よろしくお願いします。

4

1 に答える 1

1

SharedPreference文字列のリストを保存するために使用できます。より構造化されたデータがある場合は、データベースを使用する方が管理しやすい場合があります。それ以外の場合は、次のように Sharedreference を使用してリストを保存および取得できます。

//Function to get the array in SharedPreference
Public String[] loadArray(String arrayName) {  
    SharedPreferences prefs = 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;  
}  

//Function to save the array in SharedPreference
public boolean saveArray(String[] array, String arrayName) {   
    SharedPreferences prefs = 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();  
}

したがって、配列呼び出しを保存するには:

String [] yourList; // Load the array with values
saveArray(yourList, "nameOfList");

共有設定から配列をロードするには

String [] arrName = loadArray("nameOfList");

配列をロードして配列を保存する方法を適切に使用する方法を参照してください。さらに、ArrayList を SharedPreferences に保存します。

于 2013-09-12T15:16:08.760 に答える