Из этого урока вы научитесь сохранять настройки с помощью SharedPreferences для android, мы рассмотрим создание простого приложения для android, позволяющее вводить, сохранять и загружать текст или цифры в поле ввода.
Содержание:
Создание проекта
В android studio создадим новый проект, назовём его - My Preferences(мои настройки). Нажмем Next, на следующей вкладке тоже нажмем Next. Выберем Empty Activity, Next, сократим название Layout Name до main. Нажмем финиш. Откроем файл main.xml, удалим Hello Word, из категории Layout добавим RelativeLayout. Добавим EditText, в него будем вносить наши данные. Так же добавим еще одну RelativeLayout, ниже EditText. Из категории Widgets добавим несколько кнопок(Button) на нашу RelativeLayout, и расположим их ниже EditText.
Строковые переменные
Добавим вторую кнопку, сохранимся. Перейдем в текстовую версию файла main.xml, уберем в EditText значение Name(Android:text="Name"). В файле Strings.xml добавим несколько строковых переменных, btnSave, для первой кнопки со значением Save(Сохранить). Добавим вторую переменную для кнопки btnLoad(Загрузить), значение соответственно Load. Закроем String.xml.
Для текста кнопки присвоим через @string/btnSave значение для кнопки SAVE. Проделаем то же самое для второй кнопки, @string/btnLoad. Как видите, название на кнопках изменилось, сохранимся.
Запустим в эмуляторе нашу программку и посмотрим, что у нас получилось. Как видим, пока все работает, закроем наше приложение.
Код программы
Перейдем в файл MainActivity, добавим наследование для MainActivity от функции OnClickListener, обработчик нажатия на кнопку. Добавим переменную edText от EditText, добавим кнопки Button - mySave и myLoad, SharedPreferences добавим так же mySP. Добавим строковую переменную final SAVE_TEXT, присвоим ей значение - "save text".
Переменной edText присвоим наш EditText который найдем через findViewById R.id. название нашего EditText, который указан в файле main.xml. Найдем так же кнопку mySave тип Button через findViewById(R.id. название нашей кнопки button). Для кнопки mySave напишем обработчик нажатия на кнопку setOnClickListener. Он(код) будет располагаться немного ниже. Так же найдем кнопку myLoad тип Button findViewById R.id.button2. myLoad.setOnClickListener(this).
Функция нажатия на кнопки
За процедурой OnCreate создадим публичную, пустую функцию onClick, тип View переменная v. Конструктор switch - в него поместим переменную v.getId(), она будет получать Id нажатия на кнопку. Конструкция case R.id.button, будет запускаться функция savePref(), сохранение Preferences, настроек, свойств. Конструкция break, case R.id.button2. При нажатии на эту кнопку будет срабатывать функция loadPref(), которую мы напишем ниже, break, default - значение по умолчанию, break.
Функция savePref()
Под функцией onClick напишем нашу функцию savePref(), тип void она не возвращает никакого значения. Так же сделаем заголовок-заготовку для loadPref(). В переменную mySP через конструкцию getPreferences(MODE_PRIVATE) присвоим значение свойств, напишем следующий код SharedPreferences.Editor в переменную ed присвоим ее mySP.edit() - возможность редактирования настроек. Ed.putString передадим текстовое значение SAVE_TEXT который у нас равен "save text", пока он будет использоваться как болванка, в этой переменной хранится некоторое значение, которое мы будем заменять на то значение, которое у нас находится в переменной edText, а вернее то, что мы напишем в поле для ввода. Преобразуем его в строку, commit() означает выполнить.
Так же добавим Toast - всплывающее сообщение, Toast.makeText(this, )добавим техт "Text save", длительность Toast.LENGTH_SHORT. show() - показать. С первой функцией мы закончили.
Функция loadPref()
Для пустой функции loadPref() в переменную mySp опять получим getPreferences() с таким же MODE_PRIVATE, тип доступа. В переменную saveText тип string мы присвоим mySP текст SAVE_TEXT с пустым значением edText.setText(saveText). Снова выведем Toast.makeText(this) наш текст - "Text load", текст загружен. укажем длительность Toast.LENGTH_SHORT - продолжительность короткая. show().
Тест в эмуляторе Android Studio
Запустим в эмуляторе наше приложение и проверим, как оно работает. Приложение запустилось, наберем произвольный текст, например test text, нажмем кнопку save, текст сохранен. Закроем наше приложение и запустим его из установленного в эмуляторе.
Нажмем кнопку load и текст загружен. Все работает нормально. Удалим наш текст и напишем что-нибудь более осмысленное, Например, privet mir. Нажмем кнопку SAVE, текст сохранен, очистим поле для ввода закроем наше приложение, запустим его снова, нажмем кнопку LOAD, наш текст снова отобразился на экране.
Полный текст main.xml
Полный текст MainActivity.java
Используем SharedPreferences для android
Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на канал в YouTube, там Вы найдете много интересного видео, которое выходит достаточно часто. Приятного просмотра!
С уважением, авторы сайта Компьютерапия
Понравилось? Поделись этим видео с друзьями!
Используем SharedPreferences для android
Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на видео ВКонтакте, там Вы найдете много интересного, которое выходит достаточно часто. Приятного просмотра!
С уважением, авторы сайта Компьютерапия
Понравилось? Поделись этим видео с друзьями!
Используем SharedPreferences для android
Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на канал в Рутубе, там Вы найдете много интересного, которое выходит достаточно часто. Приятного просмотра!
С уважением, авторы сайта Компьютерапия
Понравилось? Поделись этим видео с друзьями!
Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!
Связанные статьи
Новые статьи
- Android Studio: получение JSON из базы данных с помощью PHP. Урок № 4 - 21/02/2021 07:12
- Android Studio: получение JSON в ListView с сервера на хостинге. Урок № 3 - 04/12/2020 21:46
- Android Studio: получение JSON в ListView и ArrayAdapter. Урок № 2 - 04/12/2020 20:39
- Android Studio: получение JSON в RecyclerView и CardView. Урок № 1 - 04/12/2020 19:40
- JS база данных и ANDROID STUDIO. Часть 3 - 15/12/2019 06:40
- Уведомления - Notifications в Android Studio - 16/04/2019 18:14
- Блютуз подключение в Android (проект для Arduino). Часть 1. - 12/04/2019 17:14
- Установка android studio и настройка SDK на VirtualBox с нуля - 19/01/2019 11:52
- Android Studio Как сделать виджет - игру Орел или решка - 08/04/2018 19:38
- Android Studio: Как сделать боковое меню с помощью NavigationDrawer - 05/04/2018 20:35
- Android Menu, как сделать меню андроид - 08/03/2018 14:44
- Создание подписанного приложения для android. Generate Signed APK. - 17/02/2018 09:50
- Android and Jsoup. Парсим вебсайт на вордпрессе. Расписание уроков - часть 3 - 15/01/2018 18:25
- Создание расписания уроков для андроид устройств. Часть 2. База данных SQLITE и фрагменты - 13/12/2017 19:49
- Создание расписания уроков для андроид устройств. Array Adapter для фрагментов. - 06/12/2017 15:07
- Создание фрагментов и использование вкладок для Android - 19/11/2017 05:16
- SplashScreen в Android: пишем заставку - 18/08/2017 19:06
- Диалог в андроид: пишем приложение в Android Studio - 13/08/2017 11:27
- Intent - Android приложение с несколькими Activity - 17/06/2017 17:05
- Создание списка ListView и ArrayAdapter в Android Studio - 09/06/2017 20:38
Предыдущие статьи
- Toast в Android Studio: пишем приложение с сообщениями - 04/05/2017 17:38
- Приложение-браузер для android устройств - 03/03/2017 16:56
- Android приложение за 5 минут. Часть 2 - 03/03/2017 16:33
- Создать андроид приложение за 5 минут - 22/11/2016 18:08
- Создание эмулятора Android, настройка AVD - 04/09/2016 15:19
- Установка Android Studio, настройка SDK - 04/09/2016 12:04
- Как начать программировать начинающим пользователям для андроид - 04/09/2016 10:28