Как пользоваться программой settings

Страница настроек дает пользователям возможность настроить приложение в зависимости от своих предпочтений. Это отличная возможность дать пользователю возможность выбора. Например, такие приложения, как YouTube, позволяют пользователям выбирать между темным и светлым режимами, выбирать качество видео, настраивать уведомления и другие параметры одним щелчком мыши. Экран настроек расширяет свободу пользователя, позволяя им заявить о своих предпочтениях.

А нам, как разработчикам нам нужно найти самый простой и эффективный способ включения предпочтений в наше приложение. В этой статье мы создадим простой экран настройки, используя библиотеку настроек JetPack.

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

Разберемся на примере приложения с меню Настройки.

OPERA PMS — 02 Profiles

Создадим новый проект

Откройте Android Studio и выберите New Project -> Empty Activity в качестве шаблона проекта, а затем нажмите next . Дайте приложению любое имя. В моем случае я назову этот проект PreferencesScreen. Мы будем использовать Kotlin в качестве нашего языка программирования для этого проекта. Оставьте все остальное по умолчанию и нажмите Finish . Затем подождите несколько секунд, пока Android Studio создаст проект.

Добавим меню в MainActivity

Пункт меню нужен, чтобы перейти к экрану SettingActivity .

Чтобы добавить menu файл ресурсов, выполните следующие действия:
Щелкните правой кнопкой мыши по папке res , и выберите new -> Android resource file . Затем перейдите к файлу ресурсов Android, введите имя файла и тип ресурса, menu затем нажмите OK , чтобы закончить.

Внутри menu пакета выберите new -> menu resource файл, затем назовите его setting_menu и нажмите finish . Добавьте в settings_menu файл следующие строки кода:

Чтобы меню было видно, добавьте в MainActivity.kt следующий код.

override fun onCreateOptionsMenu(menu: Menu?): Boolean

Добавим Settings activity

На этом шаге мы добавим в проект шаблон активности Settings.
Правой клавишей мыши щелкните по названию пакета и выберите:
New -> Activity -> Settings Activity

В результате в проект добавятся файлы:

  • SettingsActivity.kt – активность экрана Settings
  • settings_activity.xml – экран разметки, в котором будет только FrameLayout для вставки экрана с настройками. Такой вариант матрёшки нужен на случай если у вас появятся другие разметки экрана настроек.
  • root_preferences.xml – в этом экране как раз и хранятся все кнопочки экрана настроек.
  • arrays.xml – тут хранятся массивы и переменные необходимые для root_preferences.xml

Отредактируем файл arrays.xml

Давайте добавим свои параметры кнопочкам экрана настроек, отредактировав фал arrays.xml

Туториал #3 — Как пользоваться программой BF3 Settings Editor.


Светлая Тёмная Использовать системную тему 1 2 3 По умолчанию (100MB) 1.0 MB 4.7 MB 10.6 MB 32 MB 50 MB Отключено По умолчанию (100_mb) 1.0_mb 4.7_mb 10.6_mb 32_mb 50_mb Отключено

Это файл ресурсов. В нем есть несколько string-array – это массивы. Эти массивы мы присвоим элементам root_preferences.xml.

Отредактируем файл root_preferences.xml

Давайте немного разберемся:

  • PreferenceCategory – этот групповой элемент объединяет другие элементы в общую категорию и присваивает этой категории имя.
  • EditTextPreference – предназначен для ввода текста пользователем.
  • ListPreference – раскрывающийся список, который содержит массив с ранее созданными параметрами из файла arrays.xml
  • Остальные элементы я описывать не буду, они аналогичны элементам layouts.

Теперь немного о параметрах:

  • app:key – это идентификатор параметра к которому мы будем обращаться из кода.
  • app:defaultValue – значение по умолчанию
  • app:summary – описание элемента
  • app:summaryOn – описание если элемент включен
  • app:summaryOff – описание если элемент выключен
  • app:dependency – указывает от какого элемента зависит этот элемент
  • app:min – минимальное значение элемента
  • app:entries – массив описаний к значениям
  • app:entryValues – массив самих значений
Читайте также:
Где в реестре хранится информация об установленных программах

Отредактируем файл MainActivity.kt

Добавим в MainActivity.kt обработчик нажатий кнопки для перехода в меню настроек. Приведенный код вызывает меню, item используя его id . Далее мы создаём намерение действия перехода к SettingsActivity.

// Обработка нажатий кнопок меню override fun onOptionsItemSelected(item: MenuItem): Boolean < when (item.itemId) < R.id.setting -> < val intent = Intent(this, SettingsActivity::class.java) startActivity(intent) >> return super.onOptionsItemSelected(item) >

Чтобы добавить в Toolbar экрана настроек кнопку назад, пропишем в файл manifest.xml к SettingsActivity следующую строку:

android_parentActivityName=».MainActivity»

Отредактируем файл SettingActivity.kt

package ru.jandroid.preferencesscreen import android.content.SharedPreferences import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceManager class SettingsActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceChangeListener < override fun onCreate(savedInstanceState: Bundle?) < super.onCreate(savedInstanceState) setContentView(R.layout.settings_activity) // Загружаем фрагмент if (savedInstanceState == null) < supportFragmentManager .beginTransaction() .replace(R.id.settings, SettingsFragment()) .commit() >// Подключаем SharedPreference PreferenceManager.getDefaultSharedPreferences(this) .registerOnSharedPreferenceChangeListener(this) > // Соединяем элементы экрана с SharedPreference, чтобы результат писался в память class SettingsFragment : PreferenceFragmentCompat() < override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) < setPreferencesFromResource(R.xml.root_preferences, rootKey) >> // Обрабатываем кнопку выбора Темы override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) < if (key == «theme»)< val pref = sharedPreferences?.getString(key,»1″) when(pref?.toInt())< 1 -> < AppCompatDelegate.setDefaultNightMode( AppCompatDelegate.MODE_NIGHT_NO) >2 -> < AppCompatDelegate.setDefaultNightMode( AppCompatDelegate.MODE_NIGHT_YES) >3 -> < AppCompatDelegate.setDefaultNightMode( AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM) >> > > // Отключить SharedPreference, чтобы не занимать память override fun onDestroy() < super.onDestroy() PreferenceManager.getDefaultSharedPreferences(this) .unregisterOnSharedPreferenceChangeListener(this) >>

Чтобы подключить слушатель нажатий ко всем кнопкам экрана разметки добавляем следующую строку:

class SettingsActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceChangeListener

Остальные элементы подписаны в коде.

Заключение

Вот так, достаточно просто и быстро можно прописать настройки приложения. Настройки на автомате сохраняются в SharedPreferences. За вами только набросать шаблон экрана настроек и добавить обработку нажатий элементов.

Источник: jandroid.ru

Команды ms-settings для быстрого доступа к настройкам Windows 10

Как вы наверняка помните, в Windows 7 большинство настроек системы находится в оснастке Панель управления (она же Control panel). Однако начиная с Windows 8 эта оснастка признана устаревшей, а ее функционал стал постепенно перекочевывать в новое приложение «Параметры Windows».

В результате этих изменений в Windows 10 классическая панель управления практически отсутствует, а для настройки параметров операционной системы используется исключительно приложение «Параметры Windows».

Предположим, нам надо изменить свойства экрана. Первым делом открываем меню Пуск и жмем на маленькую шестеренку в углу.

запуск оснастки Параметры из меню Пуск

Затем на главной странице выбираем требуемый раздел.

оснастка Параметры

И попадаем на страницу с настройками дисплея.

страница свойств дисплея

Как видите, для того, чтобы открыть страницу с нужными настройками, требуется несколько действий. Однако есть способ быстрее. Дело в том, что каждая страница настроек имеет свой собственный адрес (Uniform Resource Identifier, URI), зная который можно открыть ее всего одной командой. Команда должна начинаться с ms-settings:, например так мы попадем на главную страницу:

А для открытия свойств дисплея надо будет выполнить:

Команду можно запустить через меню Пуск -> Выполнить,

команда для открытия страницы свойств дисплея

а можно набрать в проводнике Windows или в адресной строке браузера.

команда для открытия страницы свойств дисплея в проводнике

Также можно открыть страницу Параметры из консоли CMD или PowerShell, в этом случае команда будет выглядеть так:

открытие страницы свойств дисплея из командной строки

Для открытия наиболее часто используемых страниц можно создать ярлык быстрого доступа. Для создания ярлыка необходимо кликнуть на рабочем столе правой клавишей мыши и в контекстном меню выбрать пункт Создать — Ярлык.

создание ярлыка на рабочем столе

Далее надо указать команду для открытия нужной страницы. В нашем случая команда будет выглядеть так:

Читайте также:
Вирусные программы на компьютере как называются

выбор элемента для запуска в ярлыке

Ну и в завершение надо дать ярлыку понятное название.

выбор названия ярлыка

Дополнительно можно выбрать для ярлыка картинку. Для этого открыть свойства ярлыка и нажать на кнопку «Сменить значок».

свойства ярлыка

Для поиска надо указать файл C:WindowsSystem32shell32.dll и выбрать наиболее подходящий значок.

выбор значка для ярлыка

Получившийся ярлык можно оставить на рабочем столе, а также добавить на панель задач или в меню Пуск.

добавление ярлыка в меню Пуск и на панель задач

Ну и в завершение список команд ms-settings для открытия страниц настроек. Для большей наглядности все команды разбиты по разделам.

Settings App Page Страница настроек Команда Параметры Windows (Windows Settings) Система (System) Устройства (Devices) Персонализация (Personalization) Приложения (Apps) Игры (Gaming) Специальные возможности (Ease of Access) Конфиденциальность (Privacy) Обновление и безопасность (Update historyСмешанная реальность (Mixed reality) Кортана (Cortana)
Windows Settings Page Главная страница
«Параметры Windows»
ms-settings:
Display Дисплей ms-settings:display
Night light Ночной свет ms-settings:nightlight
Sound (build 17063) Звук ms-settings:sound
Notifications sleep Питание и спящий режим ms-settings:powersleep
Battery Батарея ms-settings:batterysaver
Battery usage by app Использование заряда батареи ms-settings:batterysaver-usagedetails
Battery Saver settings Настройки экономии заряда ms-settings:batterysaver-settings
Storage Хранилище ms-settings:storagesense
Save locations Изменить место сохранения
нового содержимого
ms-settings:savelocations
Change how we
free up space
Изменить способ
освобождения места
ms-settings:storagepolicies
Tablet mode Режим планшета ms-settings:tabletmode
Multitasking Многозадачность ms-settings:multitasking
Projecting to this PC Проецирование на этот компьютер ms-settings:project
Shared experiences Общие возможности ms-settings:crossdevice
Remote Desktop Удаленный рабочий стол ms-settings:remotedesktop
About О программе ms-settings:about
Bluetooth scanners Принтеры и сканеры ms-settings:printers
Mouse Мышь ms-settings:mousetouchpad
Touchpad Сенсорная панель ms-settings:devices-touchpad
Typing Ввод ms-settings:typing
Whell Колесо ms-settings:wheel
Pen Internet)
Network SIM Передача данных и SIM ms-settings:network-cellular
Wi-Fi Wi-Fi ms-settings:network-wifi
Manage known networks Управление известными сетями ms-settings:network-wifisettings
Wi-Fi Calling Вызов через Wi-Fi ms-settings:network-wificalling
Ethernet Ethernet ms-settings:network-ethernet
Dial-up Набор номера ms-settings:network-dialup
DirectAccess DirectAccess ms-settings:network-directaccess
VPN VPN ms-settings:network-vpn
Airplane mode Режим «в самолете» ms-settings:network-airplanemode
Mobile hotspot Мобильный хот-спот ms-settings:network-mobilehotspot
Data usage Использование данных ms-settings:datausage
Proxy Прокси ms-settings:network-proxy
Personalization Персонализация ms-settings:personalization
Background Фон ms-settings:personalization-background
Colors Цвета ms-settings:colors
Lock screen Экран блокировки ms-settings:lockscreen
Themes Темы ms-settings:themes
Fonts (build 17083) Шрифты ms-settings:fonts
Start Пуск ms-settings:personalization-start
Taskbar Панель задач ms-settings:taskbar
Apps app accounts Адрес электронной почты;
учетные записи приложений
ms-settings:emailandaccounts
Sign-in options Параметры входа ms-settings:signinoptions
Windows Hello Windows Hello ms-settings:signinoptions-launchfaceenrollment
Access work or school Доступ к учетной записи
места работы
ms-settings:workplace
Family language)
Date language Регион и язык ms-settings:regionlanguage
Speech Распознавание голоса ms-settings:speech
Game bar Меню игры ms-settings:gaming-gamebar
Game DVR DVR для игр ms-settings:gaming-gamedvr
Broadcasting Трансляция ms-settings:gaming-broadcasting
Game Mode Режим игры ms-settings:gaming-gamemode
TruePlay TruePlay ms-settings:gaming-trueplay
Xbox Networking Сеть Xbox ms-settings:gaming-xboxnetworking
Narrator Экранный диктор ms-settings:easeofaccess-narrator
Magnifier Экранная лупа ms-settings:easeofaccess-magnifier
High contrast Цвет и высокая контрастность ms-settings:easeofaccess-highcontrast
Audio (build 17035) Звук ms-settings:easeofaccess-audio
Closed captions Скрытые субтитры ms-settings:easeofaccess-closedcaptioning
Speech (build 17035) Речь ms-settings:easeofaccess-speechrecognition
Keyboard Клавиатура ms-settings:easeofaccess-keyboard
Mouse Мышь ms-settings:easeofaccess-mouse
Other options Другие параметры ms-settings:easeofaccess-otheroptions
General Общие ms-settings:privacy
Location Расположение ms-settings:privacy-location
Camera Камера ms-settings:privacy-webcam
Microphone Микрофон ms-settings:privacy-microphone
Motion Движение ms-settings:privacy-motion
Notifications Уведомления ms-settings:privacy-notifications
Speech, inking, diagnostics Отзывы и диагностика ms-settings:privacy-feedback
Background apps Фоновые приложения ms-settings:privacy-backgroundapps
App diagnostics Диагностика приложения ms-settings:privacy-appdiagnostics
Automatic file downloads Автоматическое скачивание
файлов
ms-settings:privacy-automaticfiledownloads
Documents Документы ms-settings:privacy-documents
Pictures Изображения ms-settings:privacy-pictures
Videos Видео ms-settings:privacy-videos
Разрешения и журнал ms-settings:cortana-permissions
More details Подробнее ms-settings:cortana-moredetails
Mixed reality Смешанная реальность ms-settings:holographic
Audio and speech Звук и голосовые функции ms-settings:holographic-audio
Environment Среда
Headset display Отображение гарнитуры
Uninstall Удаление
Talk to Cortana Talk to Cortana ms-settings:cortana
Permissions https://windowsnotes.ru/windows-10/komandy-ms-settings-dlya-bystrogo-dostupa-k-nastrojkam-windows-10/» target=»_blank»]windowsnotes.ru[/mask_link]

Добавление настроек приложения в Settings

Если у вас есть неигровое приложение (в игровых принято размещать настройки в самом приложение, хотя нет правил без исключений) с некоторым количеством настроек, то вместо того, чтобы реализовывать выбор и хранение настроек в самом приложении можно добавить их в приложение «Настройки/Settings» самого телефона, причем делается это очень быстро и легко.

Image Hosted by ImageShack.us

  • Добавить в проект набор файлов Settings.bundle
  • Описать в файле Root.plist все необходимые элементы интерфейса окна настроек
  • Добавить в проект объект типа NSUserDefaults и получить из него все настройки

Image Hosted by ImageShack.us

После этого в списке файлов вашего проекта появится новая папка Settings.bundle, состоящая из файла Root.plist и папки en.lproj. Именно этот файли и содержит всю информацию, на основании которой будет оформлен раздел настроек вашего приложения в Settings, а папка нужна для реализации локализации приложения под разные языки.
Файл Root.plist представляет из себя просто список элементов интерфейса с их свойствами, из которых будет состоять ваше окно настроек. По умолчанию он выглядит так:

Image Hosted by ImageShack.us

Если сейчас откомпилировать приложение, то в Settings появится строчка с именем приложения, после выбора которой появится окно, состоящее из заголовка, текстового поля, переключателя и слайдера (ползунка). Расположены они в таком же порядке в каком идут в файле. Добавляя, удаляя и меняя местами строчки в файле можно настроить внешний вид окна настроек в Settings.

Теперь подробнее про основные элементы интерфейса и их свойства.

У всех элементов есть свойство Type — определяет тип элемента, у всех элементов кроме Slider есть свойство Title — заголовок элемента интерфейса, у всех элементов, кроме Group есть свойство Identifier — определяет идентификатор элемента по которому к нему в последствии можно будет обращаться.
Список уникальных для каждого элемента свойств:

Group — имеет только два свойства Title и Type и нужен лишь для создания надписей и визуального разделения настроек на группы.

  • Autocapitalization Style — автокапитализация текста (отключена, начало предложений, каждое слово, все буквы заглавные)
  • Autocorrection Style — коррекция ошибок в тексте
  • Default Value — значение текстового поля по умолчанию
  • Text Field Is Secure — поле для ввода пароля
  • Keyboard Type — тип клавиатуры для этого поля (алфавит, цифры и знаки, цифры, URL, eMail)
  • Default Value — значение по умолчанию (yes/no)
  • Value for OFF — значение, которое будет возвращать элемент в случае ВЫКЛ (в случае если нужно получать значение отличное от NO, например 234)
  • Value for ON — значение, которое будет возвращать элемент в случае ВКЛ (в случае если нужно получать значение отличное от YES, например 143)
  • Default Value — значение по умолчанию
  • Maximum Value- максимальное допустимое значение
  • Minimum Value — минимальное допустимое значение
  • Max Value Image Filename — изображение возле максимума
  • Min Value Image Filename — изображение возле минимума
  • Titles — массив надписей в таблице выбора
  • Values- значение возвращаемое при выборе каждого из вариантов
  • Default Value- значение по умолчанию

Image Hosted by ImageShack.us

Откроется папка с уже знакомыми нам файлами, именно в нее и нужно скопировать файлы изображений.

Теперь. когда внешний вид окна настроек создан осталось только получить эти настройки из приложения. Для этого необходимо создать объект типа NSUserDefaults, присвоить ему данные настроек приложения и получать значения эти настроек по ключам, которые были указаны в свойстве Identifier каждой из настроек.

Работает так же и обратный процесс, то есть можно из приложения изменить настройки и сохранить их:

По ссылке можно скачать пример приложения, которое имеет все основные элементы окна настроек, так же есть возможность, меняя положение слайдера и переключателя, менять настройки.

Источник: habr.com

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