Android studio как сохранить данные в программе

Только начала учить Android, пишу в Android Studio . Есть на уме идея для одной программы, но для этого мне надо научиться сохранять данные. Слышала, что использовать SqlLite нужно только при больших объемах памяти. Мне же, грубо говоря, нужно сохранять только имя пользователя и ещё какую-то общую информацию и выводить это в List. Как мне это сделать? Как правильно сохранять эти данные?

В какой-то массив или отдельный файл?

Отслеживать
задан 14 мая 2018 в 20:57
767 1 1 золотой знак 8 8 серебряных знаков 28 28 бронзовых знаков
Попробуй использовать SharedPrefrences.
14 мая 2018 в 21:00

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Для сохранения данных вы можете использовать SharedPreferences

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);

Чтобы начать запись в файл настроек, вы должны вызвать метод edit() объекта SharedPreferences, который возвращает объект SharedPreferences.Editor.

SharedPreferences.Editor editor = sharedPreferences.edit();

Объект SharedPreferences.Editor имеет несколько интуитивных методов, которые можно использовать для хранения новых пар ключ-значение в файле настроек. Например, вы можете использовать метод putString() , чтобы поместить пару ключ-значение со значением типа String

Уроки по Kotlin: Урок 16, Android Studio и Сохранение данных в Android


editor.putString(«name», «Danil»); editor.putInt(«age», 20);

Чтобы сохранить записи вы должны вызвать метод commit() .

editor.commit();

Чтение из объекта SharedPreferences гораздо проще. Всё, что вам нужно сделать, так это вызвать соответствующий метод get*()

String name = sharedPreferences.getString(«name», «unknown»); int age = sharedPreferences.getInt(«age», 0);
Отслеживать
ответ дан 14 мая 2018 в 21:16
363 1 1 серебряный знак 9 9 бронзовых знаков
Спасибо. В каком файле сохраняются эти данные? Их вообще можно посмотреть?
14 мая 2018 в 21:25
14 мая 2018 в 21:45

14 мая 2018 в 21:46
14 мая 2018 в 21:47
15 мая 2018 в 9:00

Читайте также:
Как взломать мой том на деньги без программ

Основными вариантами хранения данных в Android, являются:

  • сохранение пар «ключ-значение» для простых типов данных в общем файле настроек (SharedPreferences);
  • использование баз данных под управлением SQLite;
  • сохранение произвольных файлов в файловой системе Android.

Так как мы выяснили, что в вашем случае SharedPreferences вам не подходят, а базой данных вы по каким-то причинам не хотите воспользоваться, то рассмотрим вариант сохранение произвольных файлов в файловой системе Android.

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

Свойства внутренней памяти:

  • всегда доступно.
  • сохраненные здесь файлы по умолчанию доступны только вашему приложению.
  • при удалении пользователем вашего приложения система Android удаляет из внутренней памяти все файлы этого приложения.

Свойства внешней памяти:

Lesson 33. SharedPreferences — data storage applications | Lessons Android Studio

  • доступно не всегда, потому что пользователь может в любое время подключать и отключать такие хранилища.
  • такие хранилища доступны для чтения везде, поэтому вы не контролируете чтение сохраненных в них данных.
  • при удалении пользователем вашего приложения система Android удаляет из внешних хранилищ файлы этого приложения, только если они сохраняются в директории с использованием getExternalFilesDir().

Рассмотрим вариант сохранения файла во внутренней памяти.

При сохранении файла во внутреннюю память вы можете получить соответствующую директорию в виде File, вызвав один из двух методов:

  1. getFilesDir() — возвращает File, соответствующий внутренней
    директории приложения.
  2. getCacheDir() — возвращает File, соответствующий внутренней директории файлов временной кэш-памяти приложения. Для создания файла в одной из этих директорий можно использовать конструктор File(), который передает элемент File, предоставляемый одним из вышеприведенных методов, с помощью которого указывается директория во внутренней памяти. Например: File file = new File(context.getFilesDir(), filename);
Читайте также:
Из чего состоит программа первого этапа акселератора ответ

Кроме того, можно вызвать метод openFileOutput() для получения объекта FileOutputStream , производящего запись в файл во внутренней памяти. Вот пример записи текста в файл:

String filename = «myfile»; String string = «Hello world!»; FileOutputStream outputStream; try < outputStream = openFileOutput(filename, Context.MODE_PRIVATE); outputStream.write(string.getBytes()); outputStream.close(); >catch (Exception e)

Источник: ru.stackoverflow.com

Android studio как сохранить данные в программе

В этом уроке мы научимся выполнять сохранение данных нашего приложения для того, чтобы при следующих его запусках воссоздать сохраненное, а не вводить заново. Самый, наверное, распространенный и полезный способ от такого сохранения — это сохранение логина и пароля к чему либо: аккаунту, архиву и многое другое. Хотя на паролях все возможности далеко не исчерпываются, но мы рассмотрим пример использования стандартного интерфейса Shared Preferences на примере сохранения текстовых данных. Мы сделаем Android приложение, в котором будет два поля для ввода логина и пароля (любых двух слов) и две кнопки, сохранить и загрузить. Если заполнить поля ввода, но не нажать кнопку сохранить — введенные данные будут теряться, если же перед выходом пользователь нажмет на кнопку «Сохранить» то при следующем запуске он нажмет кнопку «Загрузить» и поля автоматически заполнятся введенными и сохраненными ранее символами.

Сохранение данных с помощью Shared Preferences происходит благодаря тому, что при сохранении данных таким образом, приложение создает специальный xml файл, где будет храниться нужная информация, и при нужде получить сохраненные данные, программа будет обращаться к этому xml файлу. Файл храниться в системе устройства по адресу /data/data/НАЗВАНИЕ_ПРОЕКТА/shared_prefs.

Интерфейс для сохранения настроек Shared Preferences довольно прост в использовании. Для этого вызывается специальный метод под названием getPreferences(). По отношению к введенным данным можно выбрать 3 уровня доступности:

Читайте также:
Не могу удалить программу Гугл Хром

— MODE_PRIVATE — только это приложение может читать настройки с xml файла;

— MODE_WORLD_READABLE — все приложения могут читать с xml файла;

— MODE_WORLD_WRITEABLE — все приложения могут выполнять запись в xml файл.

После объявления метода работы с Shared Preferences нужно создать объект Editor, который нужен для создания пар имя-значение, которые будут записаны в xml файл для сохранения с помощью метода put() . Для успешного внесения данных в файл сохранения в конце нужно выполнить команду commit.

Для того, чтобы извлечь сохраненные данные, нужно обратиться к ним с помощью команды get (), ссылаясь на необходимые пары-значения.

Итак, начнем делать наше приложение, описанное вначале. Создаем новый проект, выбираем Blank Activity. Интерфейс программы будет иметь два поля для ввода текста и две кнопки. Открываем файл activity_main.xml и добавляем в него следующее:

Теперь открываем MainActivity.java и добавляем этот код (объяснения там же):

Как видите, при сохранении и загрузке сохраненных данных будет высвечиваться Toast сообщение с информацией о выполненной операции.

Теперь осталось только протестировать наше приложение:

работает

Похоже на чудо, но оно работает!

Таким образом, в этом уроке мы научились как в Android программировании выполнять сохранение данных приложения с помощью стандартного интерфейса под названием Shared Preferences. Надеюсь у вас все получилось, удачи в начинаниях.

Также можете переходить к изучению SQLite Database.

Источник: learn-android.ru

Урок 33. Хранение данных. Preferences.

Хватит об Intent и Activity. Поговорим о хранении данных. В Android есть несколько способов хранения данных:

Preferences — в качестве аналогии можно привести виндовые INI-файлы

SQLite — база данных, таблицы

обычные файлы — внутренние и внешние (на SD карте)

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru