Android хранит строковый массив - PullRequest
2 голосов
/ 04 ноября 2011

Последние полтора дня я искал на нескольких сайтах, как хранить строки / строковые массивы / и т.д.и я не могу понять это.Я не уверен, что просто не понимаю, как реализовать хранение данных ... или что.Но вот моя проблема, проще говоря, у меня есть две страницы активности (назовем «A, B» соответственно).Все, что я хочу сделать, это получить строку из текстового представления в Деятельности B, сохранить ее в массиве, а затем получить к ней доступ, нажав кнопку в Деятельности A.

Я знаю, что это просто, нопо какой-то причине попал в блок ... Я пытаюсь использовать SharedPreferences, но как мне получить строку из действия B, сохранить ее в глобальном массиве и разрешить доступ к ней другим действием (действие A)?

Ответы [ 3 ]

4 голосов
/ 04 ноября 2011

Просто сохраните его в общих настройках (обычно в onPause ()):

            SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
            editor.putString(GAME_STATE, writer.toString());
            editor.commit();

в одном действии и загрузка в другом (обычно в onResume ()):

        SharedPreferences preferences = getPreferences(MODE_PRIVATE);


    String jsonState = preferences.getString(GAME_STATE, null);

И ничто не мешает вам использовать публичные статические переменные

1 голос
/ 04 ноября 2011

Вы не можете хранить массив непосредственно в общих настройках, но вы можете сохранить набор.

См. putStringSet и getStringSet .Вы можете добавить все элементы из вашего массива в LinkedHashSet (если они уникальны), если вы хотите сохранить их в SharedPreferences.См. Ответ Константина для общей идеи о том, как использовать SharedPreferences.

0 голосов
/ 04 ноября 2011

Да, вы можете получить и сохранить значение в глобальном массиве, но вы потеряете все, как только закроете приложение.Поэтому лучше создавать таблицу и сохранять / получать значения из таблицы всякий раз, когда вам нужно.

Вот пример создания Пример SQLite .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...