プリファレンスに配列保存したいですね!
※ 2015/4/6追記 以下リンクにプレファレンスにオブジェクトを保存する方法があったので書きました。これで配列でもなんでも保存できます。
こんなのがいいんじゃないかと思って書いてみました。
参考になれば幸いです。
保存する際は、配列を文字列に変換・保存
取得する際は、文字列を配列に変換
// プレファレンスに保存
String[] arrayItem1 = {"aaa","bbb","ccc","ddd","eee","fff"};
saveArray(arrayItem1,"StringItem");
// プリファレンスから取得
String[] arrayItem2 = getArray("StringItem");
// プリファレンス保存
// aaa,bbb,ccc... の文字列で保存
private void saveArray(String[] array,String PrefKey){
StringBuffer buffer = new StringBuffer();
String stringItem = null;
for(String item : array){
buffer.append(item+",");
};
if(buffer != null){
String buf = buffer.toString();
stringItem = buf.substring(0, buf.length() - 1);
SharedPreferences prefs1 = getSharedPreferences("Array", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs1.edit();
editor.putString(PrefKey, stringItem).commit();
}
}
// プリファレンス取得
// aaa,bbb,ccc...としたものをsplitして返す
private String[] getArray(String PrefKey){
SharedPreferences prefs2 = getSharedPreferences("Array", Context.MODE_PRIVATE);
String stringItem = prefs2.getString(PrefKey,"");
if(stringItem != null && stringItem.length() != 0){
return stringItem.split(",");
}else{
return null;
}
}
他にいい方法があったら教えてくださいね!