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
- Наследование
- Производный
- Атрибуты
Комментарии
Узел в иерархической коллекции данных предпочтений. Этот класс позволяет приложениям хранить и извлекать пользовательские и системные предпочтения и данные конфигурации. Эти данные хранятся постоянно в хранилище, зависящее от реализации. Типичные реализации включают неструктурированные файлы, реестры для определенных ОС, серверы каталогов и базы данных SQL. Пользователю этого класса не нужно беспокоиться с подробными сведениями о резервном хранилище.
Существует два отдельных дерева узлов предпочтений, один для настроек пользователя и один для системных настроек. У каждого пользователя есть отдельное дерево предпочтений пользователя, и все пользователи в данной системе совместно используют одно и то же дерево предпочтений системы. Точное описание "user" и "system" зависит от реализации. Типичные сведения, хранящиеся в дереве предпочтений пользователя, могут включать выбор шрифта, выбор цвета или предпочтительное расположение окна и размер конкретного приложения. Типичные сведения, хранящиеся в дереве предпочтений системы, могут включать данные конфигурации установки для приложения.
Узлы в дереве предпочтений называются аналогично каталогам в иерархической файловой системе. Каждый узел в дереве предпочтений имеет имя узла (которое не обязательно уникально), уникальное абсолютное имя пути и имя путиотносительно каждого предка, включая себя.
Корневой узел имеет имя узла пустой строки (""). Каждый другой узел имеет произвольное имя узла, указанное во время его создания. Единственными ограничениями на это имя является то, что она не может быть пустой строкой, и она не может содержать символ косой черты ('/).
Корневой узел имеет абсолютное имя "/"пути. Дочерние элементы корневого узла имеют абсолютные имена
Имя пути узла n относительно своего предка является просто строкой, которая должна быть добавлена к абсолютному имени пути, чтобы сформировать абсолютное имя пути n, с начальным символом косой черты (если присутствует) удален. Обратите внимание, что: <ul><li>Нет относительные имена путей начинаются с символа косой черты. <li>Имя пути каждого узла относительно самого себя является пустой строкой. <li>Имя пути каждого узла относительно родительского узла — это его имя узла (за исключением корневого узла, у которого нет родительского элемента). <li>Имя пути каждого узла относительно корня — это его абсолютное имя пути с удаленным начальным символом косой черты. </ul>
Обратите внимание, что: <ul><li>No path name содержит несколько последовательных символов косой черты. <li>Нет имени пути, за исключением абсолютного имени корневого пути, заканчивается символом косой черты. <li>Любая строка, соответствующая этим двум правилам, является допустимым именем пути. </ul>
Все методы, изменяющие данные настроек, могут работать асинхронно; они могут вернуться немедленно, и изменения в конечном итоге распространяются в постоянное резервное хранилище с задержкой, зависящей от реализации. Этот flush метод можно использовать для синхронного принудительного обновления в резервном хранилище. Обычное завершение Java виртуальной машины не приведет к потере ожидающих обновлений. Явный flush вызов не требуется при завершении, чтобы убедиться, что ожидающие обновления выполняются постоянно.
Все методы, которые считывают предпочтения из Preferences объекта, требуют, чтобы вызывающий объект предоставил значение по умолчанию. Значение по умолчанию возвращается, если ранее не задано значение или если резервное хранилище недоступно. Цель заключается в том, чтобы приложения могли работать, хотя и с небольшим снижением функциональности, даже если резервное хранилище становится недоступным. Некоторые методы, например flush, имеют семантику, которая предотвращает их работу, если резервное хранилище недоступно. Обычные приложения не должны вызывать любой из этих методов, которые можно определить тем фактом, что они объявлены для вызова BackingStoreException.
Методы в этом классе могут вызываться одновременно несколькими потоками в одном JVM без необходимости внешней синхронизации, а результаты будут эквивалентны некоторому последовательному выполнению. Если этот класс используется одновременно несколькими виртуальными машинами JVM , которые хранят свои данные предпочтения в одном резервном хранилище, хранилище данных не будет повреждено, но другие гарантии не выполняются относительно согласованности данных предпочтения.
Этот класс содержит объект экспорта и импорта, что позволяет "экспортировать" параметры в XML-документ и XML-документы, представляющие предпочтения, которые будут "импортированы" обратно в систему. Это средство можно использовать для резервного копирования всех или части дерева предпочтений и последующего восстановления из резервной копии.
XML-документ содержит следующее объявление DOCTYPE:
{@code
<!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">
}
Обратите внимание, что системный универсальный код ресурса (http://java.sun.com/dtd/preferences.dtd) URI) недоступен при экспорте или импорте параметров; он просто служит строкой для уникальной идентификации 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 реализацию. Каждая реализация se Java(TM) должна предоставлять некоторые средства указания, какую PreferencesFactory реализацию используется для создания узлов корневых настроек. Это позволяет администратору заменить реализацию параметров по умолчанию альтернативной реализацией.
Примечание о реализации. В JRE Sun реализация PreferencesFactory находится следующим образом:
<ol>
<li>
Если системное свойство java.util.prefs.PreferencesFactory определено, то оно должно быть полным именем класса, реализующего PreferencesFactory интерфейс. Класс загружается и создается экземпляр; Если этот процесс завершается ошибкой, возникает неопределенная ошибка.
</li>
<li>
PreferencesFactory Если файл класса реализации был установлен в JAR-файле, который отображается java.lang.ClassLoader#getSystemClassLoader system class loaderв jar-файле, и этот JAR-файл содержит файл конфигурации поставщика с именем java.util.prefs.PreferencesFactory в каталоге META-INF/servicesресурсов, то берется имя первого класса, указанное в этом файле. Если указано несколько таких JAR-файлов, будет использоваться первый найденный файл. Класс загружается и создается экземпляр; Если этот процесс завершается ошибкой, возникает неопределенная ошибка.
</li>
<li>
Наконец, если ни указанное выше системное свойство, ни JAR-файл расширения не предоставляются, то реализация по умолчанию PreferencesFactory для базовой платформы загружается и создается экземпляр.
</li>
</Пр>
Добавлено в версии 1.4.
Java документации по java.util.prefs.Preferences.
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".
Конструкторы
| Имя | Описание |
|---|---|
| Preferences() |
Конструктор единственного. |
| Preferences(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
Поля
| Имя | Описание |
|---|---|
| MaxKeyLength |
Максимальная длина строки, разрешенная в качестве ключа (80 символов). |
| MaxNameLength |
Максимальная длина имени узла (80 символов). |
| MaxValueLength |
Максимальная длина строки, разрешенная в качестве значения (8192 символов). |
Свойства
| Имя | Описание |
|---|---|
| Class |
Возвращает класс среды выполнения этого |
| Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
| IsUserNode |
Возвращает значение, является ли это узлом предпочтения пользователя. |
| JniIdentityHashCode |
Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия. (Унаследовано от Object) |
| JniManagedPeerState |
Узел в иерархической коллекции данных предпочтений. (Унаследовано от JavaObject) |
| JniPeerMembers |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
| PeerReference |
Возвращает ссылку на объект JNI для этого Java однорангового узла. (Унаследовано от Object) |
| ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
| ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Методы
| Имя | Описание |
|---|---|
| AbsolutePath() |
Возвращает абсолютное имя пути этого узла предпочтения. |
| AddNodeChangeListener(INodeChangeListener) |
Регистрирует указанный прослушиватель для получения событий изменения узла для этого узла. |
| AddPreferenceChangeListener(IPreferenceChangeListener) |
Регистрирует указанный прослушиватель для получения событий изменения предпочтений для этого узла предпочтения. |
| ChildrenNames() |
Возвращает имена дочерних узлов этого узла предпочтения относительно этого узла. |
| Clear() |
Удаляет все настройки (связи "ключ-значение") в этом узле предпочтения. |
| Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Узел в иерархической коллекции данных предпочтений. (Унаследовано от JavaObject) |
| Dispose() |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| Dispose(Boolean) |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| DisposeUnlessReferenced() |
Узел в иерархической коллекции данных предпочтений. (Унаследовано от JavaObject) |
| Equals(Object) |
Узел в иерархической коллекции данных предпочтений. (Унаследовано от JavaObject) |
| Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
| ExportNode(Stream) |
Выводится в указанный выходной поток XML-документ, представляющий все предпочтения, содержащиеся в этом узле (но не его потомки). |
| ExportNodeAsync(Stream) |
Асинхронно выдает XML-документ, представляющий все предпочтения, содержащиеся в этом узле, но не его потомки. |
| ExportSubtree(Stream) |
Выводит XML-документ, представляющий все предпочтения, содержащиеся в этом узле, и все его потомки. |
| ExportSubtreeAsync(Stream) |
Асинхронно выдает XML-документ, представляющий все предпочтения, содержащиеся в этом узле, и все его потомки. |
| Flush() |
Принудительно изменяет содержимое этого узла предпочтения и его потомков в постоянное хранилище. |
| FlushAsync() |
Асинхронно заставляет все изменения в этом узле предпочтения и его потомках в постоянное хранилище. |
| Get(String, String) |
Возвращает значение, связанное с указанным ключом в этом узле предпочтения. |
| GetBoolean(String, Boolean) |
Возвращает логическое значение, представленное строкой, связанной с указанным ключом в этом узле предпочтения. |
| GetByteArray(String, Byte[]) |
Возвращает значение массива байтов, представленное строкой, связанной с указанным ключом в этом узле предпочтения. |
| GetDouble(String, Double) |
Возвращает двойное значение, представленное строкой, связанной с указанным ключом в этом узле предпочтения. |
| GetFloat(String, Single) |
Возвращает значение с плавающей запятой, представленное строкой, связанной с указанным ключом в этом узле предпочтения. |
| GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
| GetInt(String, Int32) |
Возвращает значение int, представленное строкой, связанной с указанным ключом в этом узле предпочтения. |
| GetLong(String, Int64) |
Возвращает длинное значение, представленное строкой, связанной с указанным ключом в этом узле предпочтения. |
| ImportPreferences(Stream) |
Импортирует все предпочтения, представленные XML-документом в указанном входном потоке. |
| ImportPreferencesAsync(Stream) |
Асинхронно импортирует все настройки, представленные XML-документом в указанном входном потоке. |
| JavaFinalize() |
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
| Keys() |
Возвращает все ключи, имеющие связанное значение в этом узле предпочтения. |
| Name() |
Возвращает имя этого узла предпочтения относительно родительского узла. |
| Node(String) |
Возвращает именованный узел предпочтения в том же дереве, что и этот узел, создавая его и любой из его предков, если они еще не существуют. |
| NodeExists(String) |
Возвращает значение true, если именованный узел предпочтения существует в том же дереве, что и этот узел. |
| Notify() |
Пробуждение одного потока, ожидающего монитора этого объекта. (Унаследовано от Object) |
| NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
| Parent() |
Возвращает родительский элемент этого узла предпочтения или |
| Put(String, String) |
Связывает указанное значение с указанным ключом в этом узле предпочтения. |
| PutBoolean(String, Boolean) |
Связывает строку, представляющую указанное логическое значение с указанным ключом в этом узле предпочтения. |
| PutByteArray(String, Byte[]) |
Связывает строку, представляющую указанный массив байтов с указанным ключом в этом узле предпочтения. |
| PutDouble(String, Double) |
Связывает строку, представляющую указанное двойное значение с указанным ключом в этом узле предпочтения. |
| PutFloat(String, Single) |
Связывает строку, представляющую указанное значение float с указанным ключом в этом узле предпочтения. |
| PutInt(String, Int32) |
Связывает строку, представляющую указанное значение int с указанным ключом в этом узле предпочтения. |
| PutLong(String, Int64) |
Связывает строку, представляющую указанное длинное значение с указанным ключом в этом узле предпочтения. |
| Remove(String) |
Удаляет значение, связанное с указанным ключом в этом узле предпочтения, если таковой имеется. |
| RemoveNode() |
Удаляет этот узел предпочтения и все его потомки, недействив все настройки, содержащиеся в удаленных узлах. |
| RemoveNodeChangeListener(INodeChangeListener) |
Удаляет указанный |
| RemovePreferenceChangeListener(IPreferenceChangeListener) |
Удаляет заданный прослушиватель изменений предпочтения, поэтому он больше не получает события изменения предпочтений. |
| SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Узел в иерархической коллекции данных предпочтений. (Унаследовано от JavaObject) |
| Sync() |
Гарантирует, что будущие операции чтения из этого узла предпочтений и его потомков отражают все изменения, зафиксированные в постоянном хранилище (с любой виртуальной машины) до |
| SyncAsync() |
Асинхронно синхронизирует этот узел предпочтения и его потомки с постоянным хранилищем. |
| SystemNodeForPackage(Class) |
< >strong WARNING:</strong> On Android узлы предпочтений, соответствующие предпочтениям "system" и "user", хранятся в разделах файловой системы, недоступных для приложений. |
| SystemRoot() |
< >strong WARNING:</strong> On Android узлы предпочтений, соответствующие предпочтениям "system" и "user", хранятся в разделах файловой системы, недоступных для приложений. |
| ToArray<T>() |
Создает управляемый массив из этого Java оболочки массива. (Унаследовано от Object) |
| ToString() |
Возвращает строковое представление этого узла параметров, как будто вычисляется выражением: |
| UnregisterFromRuntime() |
Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия. (Унаследовано от Object) |
| UserNodeForPackage(Class) |
< >strong WARNING:</strong> On Android узлы предпочтений, соответствующие предпочтениям "system" и "user", хранятся в разделах файловой системы, недоступных для приложений. |
| UserRoot() |
< >strong WARNING:</strong> On Android узлы предпочтений, соответствующие предпочтениям "system" и "user", хранятся в разделах файловой системы, недоступных для приложений. |
| Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>. (Унаследовано от Object) |
| Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
| Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IJavaPeerable.Disposed() |
Узел в иерархической коллекции данных предпочтений. (Унаследовано от JavaObject) |
| IJavaPeerable.Finalized() |
Узел в иерархической коллекции данных предпочтений. (Унаследовано от JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Узел в иерархической коллекции данных предпочтений. (Унаследовано от JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Узел в иерархической коллекции данных предпочтений. (Унаследовано от JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Узел в иерархической коллекции данных предпочтений. (Унаследовано от JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Узел в иерархической коллекции данных предпочтений. (Унаследовано от JavaObject) |
Методы расширения
| Имя | Описание |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Возвращает имя JNI типа экземпляра |
| JavaAs<TResult>(IJavaPeerable) |
Попробуйте принуждать к типу |
| JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
| JavaCast<TResult>(IJavaObject) |
Узел в иерархической коллекции данных предпочтений. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Попробуйте принуждать к типу |