У меня есть массив с целыми значениями. Со временем он будет расти. Он будет иметь примерно до 50 значений. Я хочу сохранить массив постоянным, и поэтому я думал о его хранении в sharedpreferences. Я знаю, что никакие сложные типы не могут быть сохранены в нем, но я также слышал о сериализации массива, а затем сохранил его в sharedpreferences. Может ли кто-нибудь дать мне подсказку или даже лучший пример кода, как это сделать?store Array в sharedpreferences
ответ
Не очень эффективный способ, но получить работу:
SharedPreferences prefs = ...;
final int count = 50;
final String KEY_COUNT = "COUNT";
final String KEY_VAL_PREFIX = "VAL_";
int values[] = new int[count];
/*
* ... put some stuff in values[] ...
*/
final Editor sped = prefs.edit();
sped.putInt(KEY_COUNT, count);
for (int i = 0; i < count; i++)
{
sped.putInt(KEY_VAL_PREFIX + i, values[i]);
}
sped.commit();
Позже вы можете получить эти значения, захватывая значение KEY_COUNT из префов, затем заполнить ваш пустой массив с values2[i] = getInt(KEY_VAL_PREFIX + i, 0)
вызовов.
: Как вы думаете, вы можете помогите мне с этим? http: //stackoverflow.com/questions/9209673/using-preferences-my-listview-is-empty-cant-store-data – George
Я просто сделал, посмотри. – Josh
@ Josh можете ли вы включить весь код для геттера и сеттера? – HeartlessArchangel
Для этого вы можете использовать ObjectSerializer. Вот SO-дискуссия о том, как это сделать. Store Shared preferences
Я бы преобразовал ваш массив в строку значений, разделенных запятыми. А затем сохраните строку как одну пару ключ-значение.
Затем, когда вы хотите извлечь массив, просто используйте функцию split, чтобы разбить строку на элементы массива на основе разделителя запятой.
- 1. Store Arraylist в sharedPreferences
- 2. String Array в SharedPreferences
- 3. Json Object Store SharedPreferences?
- 4. Store ArrayList <PendingIntent> в SharedPreferences
- 5. LLVM store array
- 6. Android store array в настройках
- 7. Laravel Store Array в сеансе
- 8. Array Store Exception using array copy
- 9. function store array in array then return
- 10. Android store array of Bitmaps
- 11. OpenMP Shared Array Load/Store
- 12. store image array in nsuserdefault
- 13. Parse.com Store Array of booleans
- 14. store numpy array in mysql
- 15. Array store Sencha Touch 2
- 16. Rails Store Array в базе данных
- 17. Loop Through Array и Store as New Array - Ruby
- 18. Django Store HTML Input Array от _POST
- 19. store $ key as array weird result
- 20. jquery store array localstorage или cookie
- 21. C# store int in byte array
- 22. Extjs Store to Array get object property
- 23. store/load numpy array из двоичных файлов
- 24. SharedPreferences в ViewPager
- 25. шифровать данные в SharedPreferences
- 26. sharedpreferences
- 27. Cant store simple array в базе данных laravel
- 28. Android: SharedPreferences Issue (Несколько SharedPreferences)
- 29. Добавить sharedPreferences в listpreference значение
- 30. Array as store in list in sencha touch
Вы также можете обратиться к этому [ANSWER] (http://stackoverflow.com/questions/7175880/how-can-i-store-an-integer-array-in-sharedpreferences) –