В общих настройках, как хранить массив строк в приложении Android
В моем приложении я использую список в базе адаптера.
когда я щелкаю элемент, его идентификатор хранится в формате массива общих настроек. как сохранить несколько идентификаторов элементов в виде строкового массива [1,2,5,6], как это....
заранее спасибо...
3 ответа
Вы можете попробовать использовать JSONArray
как JSON light-weight
Кроме того, вы можете создать JSONArray
и запишите его в SharedPreference как String.
Написать,
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(this);
JSONArray jsonArray = new JSONArray();
jsonArray.put(1);
jsonArray.put(2);
Editor editor = prefs.edit();
editor.putString("key", jsonArray.toString());
System.out.println(jsonArray.toString());
editor.commit();
Читать,
try {
JSONArray jsonArray2 = new JSONArray(prefs.getString("key", "[]"));
for (int i = 0; i < jsonArray2.length(); i++) {
Log.d("your JSON Array", jsonArray2.getInt(i)+"");
}
} catch (Exception e) {
e.printStackTrace();
}
Если вы используете API 11, то это возможно с помощью putStringSet
, В противном случае вы можете либо преобразовать ваш строковый массив в одну строку, как упомянуто @hotverispicy, либо использовать базу данных SQLite.
Вы можете сохранить его как строку ,
(запятая) разделитель и при получении просто использовать split()
string toPut="";
toPut += "listItem,";
установите toPut в вашем SharePreference
и совершить ()
Чтобы получить то же самое в массиве: get prefString from SharePreference
String[] fetchArray= prefString.split(",");