Preferences Класс

Определение

Узел в иерархической коллекции данных предпочтения.

[Android.Runtime.Register("java/util/prefs/Preferences", DoNotGenerateAcw=true)]
public abstract class Preferences : Java.Lang.Object
[<Android.Runtime.Register("java/util/prefs/Preferences", DoNotGenerateAcw=true)>]
type Preferences = class
    inherit Object
Наследование
Preferences
Производный
Атрибуты

Комментарии

Узел в иерархической коллекции данных предпочтения. Этот класс позволяет приложениям хранить и извлекать пользовательские и системные данные о предпочтениях и конфигурации. Эти данные постоянно хранятся в зависящее от реализации резервное хранилище. Типичные реализации включают неструктурированные файлы, реестры, зависящие от ОС, серверы каталогов и базы данных SQL. Пользователю этого класса не нужно беспокоиться о резервном хранилище.

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

Узлы в дереве предпочтений именуются аналогично каталогам в иерархической файловой системе. Каждый узел в дереве предпочтений имеет имя узла (которое не обязательно уникально), уникальное абсолютное имя пути и имя пути относительно каждого предка, включая самого себя.

Корневой узел имеет имя узла пустой строки (""). Каждый другой узел имеет произвольное имя узла, указанное во время его создания. Единственное ограничение этого имени состоит в том, что оно не может быть пустой строкой и не может содержать символ косой черты ('/').

Корневой узел имеет абсолютное имя "/"пути . Дочерние элементы корневого узла имеют абсолютные имена "/" + путей< имя узла>. Все остальные узлы имеют абсолютные имена путей < абсолютный путь родительского> + "/" + < имя узла>. Обратите внимание, что все абсолютные имена путей начинаются с символа косой черты.

Имя пути узла n относительно его предка — это просто строка, которая должна быть добавлена к абсолютному имени пути, чтобы сформировать абсолютное имя пути n с удалением начального символа косой черты (при наличии). Обратите внимание, что: <ul><li>No относительные имена путей начинаются с символа косой черты. <Li>Имя пути каждого узла относительно самого себя является пустой строкой. <Li>Имя пути каждого узла относительно его родительского узла является его именем узла (за исключением корневого узла, у которого нет родительского узла). <Li>Имя пути каждого узла относительно корня — это его абсолютный путь с удаленным начальным символом косой черты. </ul>

Наконец, обратите внимание, что: <ul><li>No path name содержит несколько последовательных символов косой черты. <Li>Нет имени пути, за исключением абсолютного имени пути корня, заканчивающегося символом косой черты. <Li>Любая строка, соответствующая этим двум правилам, является допустимым именем пути. </ul>

Все методы, изменяющие данные предпочтений, могут работать асинхронно; они могут вернуться немедленно, и изменения в конечном итоге будут распространяться на постоянное резервное хранилище с задержкой, зависящей от реализации. Метод flush может использоваться для синхронной принудительной принудительной принудительной установки обновлений в резервное хранилище. Обычное завершение работы виртуальной машины Java не приведет к потере ожидающих обновлений. Явный flush вызов не требуется после завершения, чтобы гарантировать, что ожидающие обновления будут постоянными.

Все методы, которые считывают настройки из Preferences объекта, требуют, чтобы вызывающий объект предоставлял значение по умолчанию. Значение по умолчанию возвращается, если ранее не было задано значение или если резервное хранилище недоступно. Цель состоит в том, чтобы разрешить приложениям работать, хотя и с немного сниженной функциональностью, даже если резервное хранилище становится недоступным. Некоторые методы, например flush, имеют семантику, которая предотвращает их работу, если резервное хранилище недоступно. Обычные приложения не должны вызывать какие-либо из этих методов, что можно определить тем фактом, что они объявлены для вызова BackingStoreException.

Методы в этом классе могут вызываться одновременно несколькими потоками в одной виртуальной машине Java без необходимости внешней синхронизации, и результаты будут эквивалентны некоторому последовательному выполнению. Если этот класс используется одновременно несколькими виртуальными машинами Java , которые хранят свои данные предпочтения в одном резервном хранилище, хранилище данных не будет повреждено, но никакие другие гарантии относительно согласованности данных предпочтения не будут выполнены.

Этот класс содержит средство экспорта и импорта, позволяющее "экспортировать" параметры в XML-документ и XML-документы, представляющие параметры для "импорта" обратно в систему. Это средство можно использовать для резервного копирования всего или части дерева предпочтений, а затем для восстановления из резервной копии.

XML-документ содержит следующее объявление DOCTYPE:

{@code
<!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">
            }

Обратите внимание, что системный URI (http://java.sun.com/dtd/preferences.dtd)не используется при экспорте или импорте настроек; он просто служит строкой для уникальной идентификации DTD, то есть:

{@code
<?xml version="1.0" encoding="UTF-8"?>

<!-- DTD for a Preferences tree. -->

<!-- The preferences element is at the root of an XML document
                    representing a Preferences tree. -->
<!ELEMENT preferences (root)>

<!-- The preferences element contains an optional version attribute,
                     which specifies version of DTD. -->
<!ATTLIST preferences EXTERNAL_XML_VERSION CDATA "0.0" >

<!-- The root element has a map representing the root's preferences
                    (if any), and one node for each child of the root (if any). -->
<!ELEMENT root (map, node*) >

<!-- Additionally, the root contains a type attribute, which
                    specifies whether it's the system or user root. -->
<!ATTLIST root
                         type (system|user) #REQUIRED >

<!-- Each node has a map representing its preferences (if any),
                    and one node for each child (if any). -->
<!ELEMENT node (map, node*) >

<!-- Additionally, each node has a name attribute -->
<!ATTLIST node
                         name CDATA #REQUIRED >

<!-- A map represents the preferences stored at a node (if any). -->
<!ELEMENT map (entry*) >

<!-- An entry represents a single preference, which is simply
                     a key-value pair. -->
<!ELEMENT entry EMPTY >
<!ATTLIST entry
                         key   CDATA #REQUIRED
                         value CDATA #REQUIRED >
            }

Каждая Preferences реализация должна иметь связанную PreferencesFactory реализацию. Каждая реализация Java(TM) SE должна предоставлять некоторые способы указания того, какая PreferencesFactory реализация используется для создания узлов корневых настроек. Это позволяет администратору заменить реализацию параметров по умолчанию альтернативной реализацией.

Примечание о реализации. В JRE PreferencesFactory Sun реализация находится следующим образом:

<Пр>

<Литий>

Если системное свойство java.util.prefs.PreferencesFactory определено, оно принимается как полное имя класса, реализующего PreferencesFactory интерфейс . Класс загружается и создается экземпляр ; Если этот процесс завершается сбоем, возникает неустановленная ошибка.

</Литий>

<Литий>

PreferencesFactory Если файл класса реализации был установлен в JAR-файл, видимый java.lang.ClassLoader#getSystemClassLoader system class loaderдля , и этот JAR-файл содержит файл конфигурации поставщика с именем java.util.prefs.PreferencesFactory в каталоге META-INF/servicesресурсов , то используется имя первого класса, указанное в этом файле. Если предоставлено несколько таких JAR-файлов, будет использован первый найденный. Класс загружается и создается экземпляр ; Если этот процесс завершается сбоем, возникает неустановленная ошибка.

</Литий>

<Литий>

Наконец, если не указано ни упомянутое выше системное свойство, ни JAR-файл расширения, то загружается общесистемная реализация по умолчанию PreferencesFactory для базовой платформы и создается экземпляр .

</Литий>

</Пр>

Добавлено в версии 1.4.

Документация по Java для java.util.prefs.Preferences.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License Creative Commons 2.5 Attribution License.

Конструкторы

Preferences()

Единственный конструктор.

Preferences(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Поля

MaxKeyLength

Максимальная длина строки, разрешенная в качестве ключа (80 символов).

MaxNameLength

Максимальная длина имени узла (80 символов).

MaxValueLength

Максимальная длина строки, разрешенная в качестве значения (8192 символа).

Свойства

Class

Возвращает класс среды выполнения данного объекта Object.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsUserNode

Возвращает значение, указывающее, является ли этот узел предпочтениями пользователя.

JniIdentityHashCode

Узел в иерархической коллекции данных предпочтения.

(Унаследовано от Object)
JniPeerMembers

Узел в иерархической коллекции данных предпочтения.

PeerReference

Узел в иерархической коллекции данных предпочтения.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

AbsolutePath()

Возвращает абсолютный путь этого узла предпочтения.

AddNodeChangeListener(INodeChangeListener)

Регистрирует указанный прослушиватель для получения событий изменения узла для этого узла.

AddPreferenceChangeListener(IPreferenceChangeListener)

Регистрирует указанный прослушиватель для получения событий изменения предпочтения для этого узла предпочтения.

ChildrenNames()

Возвращает имена дочерних элементов этого узла предпочтения относительно этого узла.

Clear()

Удаляет все параметры (связи "ключ-значение") в этом узле предпочтения.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Dispose()

Узел в иерархической коллекции данных предпочтения.

(Унаследовано от Object)
Dispose(Boolean)

Узел в иерархической коллекции данных предпочтения.

(Унаследовано от Object)
Equals(Object)

Указывает, равен ли какой-то другой объект этому объекту.

(Унаследовано от Object)
ExportNode(Stream)

Создает в указанном выходном потоке XML-документ, представляющий все параметры, содержащиеся в этом узле (но не его потомки).

ExportNodeAsync(Stream)

Узел в иерархической коллекции данных предпочтения.

ExportSubtree(Stream)

Создает XML-документ, представляющий все параметры, содержащиеся в этом узле, и все его потомки.

ExportSubtreeAsync(Stream)

Узел в иерархической коллекции данных предпочтения.

Flush()

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

FlushAsync()

Узел в иерархической коллекции данных предпочтения.

Get(String, String)

Возвращает значение, связанное с указанным ключом в этом узле предпочтения.

GetBoolean(String, Boolean)

Возвращает логическое значение, представленное строкой, связанной с указанным ключом в этом узле предпочтения.

GetByteArray(String, Byte[])

Возвращает значение массива байтов, представленное строкой, связанной с указанным ключом в этом узле предпочтения.

GetDouble(String, Double)

Возвращает значение типа double, представленное строкой, связанной с указанным ключом в этом узле предпочтения.

GetFloat(String, Single)

Возвращает значение с плавающей точкой, представленное строкой, связанной с указанным ключом в этом узле предпочтения.

GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
GetInt(String, Int32)

Возвращает значение int, представленное строкой, связанной с указанным ключом в этом узле предпочтения.

GetLong(String, Int64)

Возвращает длинное значение, представленное строкой, связанной с указанным ключом в этом узле предпочтения.

ImportPreferences(Stream)

Импортирует все параметры, представленные XML-документом в указанном входном потоке.

ImportPreferencesAsync(Stream)

Узел в иерархической коллекции данных предпочтения.

JavaFinalize()

Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект .

(Унаследовано от Object)
Keys()

Возвращает все ключи, имеющие связанное значение в этом узле предпочтения.

Name()

Возвращает имя этого предпочтительного узла относительно его родительского узла.

Node(String)

Возвращает именованный узел предпочтения в том же дереве, что и этот узел, создавая его и любого из его предков, если они еще не существуют.

NodeExists(String)

Возвращает значение true, если именованный узел предпочтения существует в том же дереве, что и этот узел.

Notify()

Пробуждает один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Пробуждает все потоки, ожидающие на мониторе этого объекта.

(Унаследовано от Object)
Parent()

Возвращает родительский объект этого узла предпочтения или null значение , если это корневой элемент.

Put(String, String)

Связывает указанное значение с указанным ключом в этом узле предпочтения.

PutBoolean(String, Boolean)

Связывает строку, представляющую указанное логическое значение, с указанным ключом в этом узле предпочтения.

PutByteArray(String, Byte[])

Связывает строку, представляющую указанный массив байтов, с указанным ключом в этом узле предпочтения.

PutDouble(String, Double)

Связывает строку, представляющую указанное двойное значение, с указанным ключом в этом узле предпочтения.

PutFloat(String, Single)

Связывает строку, представляющую указанное значение с плавающей точкой, с указанным ключом в этом узле предпочтения.

PutInt(String, Int32)

Связывает строку, представляющую указанное значение int, с указанным ключом в этом узле предпочтения.

PutLong(String, Int64)

Связывает строку, представляющую указанное длинное значение, с указанным ключом в этом узле предпочтения.

Remove(String)

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

RemoveNode()

Удаляет этот узел предпочтения и все его потомки, что отменяет все настройки, содержащиеся в удаленных узлах.

RemoveNodeChangeListener(INodeChangeListener)

Удаляет указанный NodeChangeListenerобъект , чтобы больше не получать события изменений.

RemovePreferenceChangeListener(IPreferenceChangeListener)

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

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
Sync()

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

SyncAsync()

Узел в иерархической коллекции данных предпочтения.

SystemNodeForPackage(Class)

<strong>WARNING:</strong> В Android узлы предпочтения, соответствующие предпочтениям "система" и "пользователь", хранятся в разделах файловой системы, недоступных для приложений.

SystemRoot()

<strong>WARNING:</strong> В Android узлы предпочтения, соответствующие предпочтениям "система" и "пользователь", хранятся в разделах файловой системы, недоступных для приложений.

ToArray<T>()

Узел в иерархической коллекции данных предпочтения.

(Унаследовано от Object)
ToString()

Возвращает строковое представление этого узла параметров, как если бы оно вычислено выражением:(this.isUserNode() ? "User" : "System") + " Preference Node: " + this.absolutePath().

UnregisterFromRuntime()

Узел в иерархической коллекции данных предпочтения.

(Унаследовано от Object)
UserNodeForPackage(Class)

<strong>WARNING:</strong> В Android узлы предпочтения, соответствующие предпочтениям "система" и "пользователь", хранятся в разделах файловой системы, недоступных для приложений.

UserRoot()

<strong>WARNING:</strong> В Android узлы предпочтения, соответствующие предпочтениям "система" и "пользователь", хранятся в разделах файловой системы, недоступных для приложений.

Wait()

Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.><

(Унаследовано от Object)
Wait(Int64)

Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени.

(Унаследовано от Object)
Wait(Int64, Int32)

Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

IJavaPeerable.Disposed()

Узел в иерархической коллекции данных предпочтения.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Узел в иерархической коллекции данных предпочтения.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Узел в иерархической коллекции данных предпочтения.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Узел в иерархической коллекции данных предпочтения.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Узел в иерархической коллекции данных предпочтения.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Узел в иерархической коллекции данных предпочтения.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Узел в иерархической коллекции данных предпочтения.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверенного средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Узел в иерархической коллекции данных предпочтения.

GetJniTypeName(IJavaPeerable)

Узел в иерархической коллекции данных предпочтения.

Применяется к