2017-01-31 7 views
-3

共有優先度に複数の整数値を格納したい。これは可能ですか?SharedPreferencesを使用して複数の整数値を保存するにはどうすればよいですか?

+0

はいあなたはSPでのArrayListや店舗のArrayListにint型の値を追加することができます。 – Piyush

+0

可能な複製http://stackoverflow.com/questions/9054193/how-to-use-sharedpreferences-to-save-more-than-one-values – rafsanahmad007

+0

[SharedPreferencesを使用して複数の値を保存する方法?](http://stackoverflow.com/questions/9054193/how-to-use-sharedpreferences-to-save-more-than-one-values) –

答えて

0

public void putListInt(String key, ArrayList<Integer> intList) { 
    checkForNullKey(key); 
    Integer[] myIntList = intList.toArray(new Integer[intList.size()]); 
    preferences.edit().putString(key, TextUtils.join("‚‗‚", myIntList)).apply(); 
} 

SharedPreferencesから取得する場合:

public ArrayList<Integer> getListInt(String key) { 
    String[] myList = TextUtils.split(preferences.getString(key, ""), "‚‗‚"); 
    ArrayList<String> arrayToList = new ArrayList<String>(Arrays.asList(myList)); 
    ArrayList<Integer> newList = new ArrayList<Integer>(); 

    for (String item : arrayToList) 
     newList.add(Integer.parseInt(item)); 

    return newList; 
} 
0

共有設定に複数の整数値を格納するには、Set(form Java Collection)を使用できます。

+0

putintSet( "key"、set)するメソッドはありません。 私のために働かない。私はプログラマーのロジックを理解できません。 –

0

SharedPreferencesに配列を格納するためにGsonを使用してください。

値を格納するため。

int[] list = new int[10]; 
String string=new Gson().toJson(list); 
prefs.edit().putString("data", string).apply(); 

値を取得する場合。

SharedPreferencesに保存するため
String data=prefs.getString("data",null); 
int [] list=new Gson().fromJson(data,int[].class); 
関連する問題