В общих настройках, как хранить массив строк в приложении 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(",");
Другие вопросы по тегам