Preferences Klasse

Definition

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

[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
Vererbung
Preferences
Abgeleitet
Attribute

Hinweise

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten. Diese Klasse ermöglicht Anwendungen das Speichern und Abrufen von Benutzer- und Systemeinstellungs- und Konfigurationsdaten. Diese Daten werden dauerhaft in einem implementierungsabhängigen Sicherungsspeicher gespeichert. Typische Implementierungen sind Flatfiles, betriebssystemspezifische Registrierungen, Verzeichnisserver und SQL-Datenbanken. Der Benutzer dieser Klasse muss sich nicht um Details des Sicherungsspeichers kümmern.

Es gibt zwei separate Strukturen von Präferenzknoten, eine für Benutzereinstellungen und eine für Systemeinstellungen. Jeder Benutzer verfügt über eine separate Benutzereinstellungsstruktur, und alle Benutzer in einem bestimmten System verwenden dieselbe Systemeinstellungsstruktur. Die genaue Beschreibung von "Benutzer" und "System" variiert von Implementierung zu Implementierung. Typische Informationen, die in der Benutzereinstellungsstruktur gespeichert werden, können die Schriftartauswahl, die Farbauswahl oder die bevorzugte Fensterposition und -größe für eine bestimmte Anwendung sein. Typische Informationen, die in der Systemeinstellungsstruktur gespeichert werden, können Installationskonfigurationsdaten für eine Anwendung enthalten.

Knoten in einer Einstellungsstruktur werden ähnlich wie Verzeichnisse in einem hierarchischen Dateisystem benannt. Jeder Knoten in einer Einstellungsstruktur verfügt über einen Knotennamen (der nicht notwendigerweise eindeutig ist), einen eindeutigen absoluten Pfadnamen und einen Pfadnamen relativ zu jedem Vorgänger einschließlich sich selbst.

Der Stammknoten weist den Knotennamen der leeren Zeichenfolge ("") auf. Jeder andere Knoten verfügt über einen beliebigen Knotennamen, der zum Zeitpunkt der Erstellung angegeben wird. Die einzigen Einschränkungen für diesen Namen sind, dass es sich nicht um die leere Zeichenfolge handeln darf und nicht den Schrägstrich ("/") enthalten kann.

Der Stammknoten hat den absoluten Pfadnamen "/". Untergeordnete Elemente des Stammknotens weisen absolute Pfadnamen von "/" + < Knotenname>. Alle anderen Knoten weisen absolute Pfadnamen von< absoluter Pfadname des übergeordneten> + "/" + < Knotenname>. Beachten Sie, dass alle absoluten Pfadnamen mit dem Schrägstrich beginnen.

Der Pfadname eines Knotens n relativ zu seinem Vorgänger a ist einfach die Zeichenfolge, die an den absoluten Pfadnamen eines angefügt werden muss, um den absoluten Pfadnamen von n zu bilden, wobei der anfängliche Schrägstrich (sofern vorhanden) entfernt wird. Beachten Sie folgendes: <ul><li>Keine relativen Pfadnamen beginnen mit dem Schrägstrich. <li>Der Pfadname jedes Knotens relativ zu sich selbst ist die leere Zeichenfolge. <li>Der Pfadname jedes Knotens relativ zum übergeordneten Knoten ist sein Knotenname (mit Ausnahme des Stammknotens, der kein übergeordnetes Element aufweist). <li>Der Pfadname jedes Knotens relativ zum Stamm ist der absolute Pfadname, wobei der anfängliche Schrägstrich entfernt wurde. </ul>

Beachten Sie schließlich: <ul><li>No path name enthält mehrere aufeinanderfolgende Schrägstriche. <li>Kein Pfadname mit Ausnahme des absoluten Pfadnamens des Stamms endet im Schrägstrich. <li>Jede Zeichenfolge, die diesen beiden Regeln entspricht, ist ein gültiger Pfadname. </ul>

Alle Methoden, die Einstellungsdaten ändern, können asynchron ausgeführt werden. Sie können sofort zurückgegeben werden, und Änderungen werden schließlich mit einer implementierungsabhängigen Verzögerung an den persistenten Sicherungsspeicher weitergegeben. Die flush -Methode kann verwendet werden, um Synchronupdates für den Sicherungsspeicher zu erzwingen. Die normale Beendigung des virtuellen Java-Computers führt nicht zum Verlust ausstehender Updates. Ein expliziter flush Aufruf ist bei der Beendigung nicht erforderlich, um sicherzustellen, dass ausstehende Updates dauerhaft ausgeführt werden.

Alle Methoden, die Voreinstellungen aus einem Preferences Objekt lesen, erfordern, dass der Aufrufer einen Standardwert bereitstellt. Der Standardwert wird zurückgegeben, wenn zuvor kein Wert festgelegt wurde oder wenn der Sicherungsspeicher nicht verfügbar ist. Die Absicht besteht darin, anwendungen den Betrieb zu ermöglichen, wenn auch mit leicht beeinträchtigter Funktionalität, auch wenn der Sicherungsspeicher nicht mehr verfügbar ist. Mehrere Methoden, z. B flush. , verfügen über Semantik, die verhindert, dass sie ausgeführt werden können, wenn der Sicherungsspeicher nicht verfügbar ist. Gewöhnliche Anwendungen sollten keine dieser Methoden aufrufen müssen, was daran identifiziert werden kann, dass sie deklariert werden, um auszulösen BackingStoreException.

Die Methoden in dieser Klasse können gleichzeitig von mehreren Threads in einer einzelnen JVM aufgerufen werden, ohne dass eine externe Synchronisierung erforderlich ist, und die Ergebnisse entsprechen einer seriellen Ausführung. Wenn diese Klasse gleichzeitig von mehreren JVMs verwendet wird, die ihre Bevorzugten Daten im selben Sicherungsspeicher speichern, wird der Datenspeicher nicht beschädigt, aber es werden keine anderen Garantien hinsichtlich der Konsistenz der Präferenzdaten getroffen.

Diese Klasse enthält eine Export-/Importfunktion, mit der Einstellungen in ein XML-Dokument "exportiert" werden können, und XML-Dokumente, die Einstellungen darstellen, die wieder in das System "importiert" werden. Diese Funktion kann verwendet werden, um eine Einstellungsstruktur ganz oder teilweise zu sichern und anschließend aus der Sicherung wiederherzustellen.

Das XML-Dokument verfügt über die folgende DOCTYPE-Deklaration:

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

Beachten Sie, dass auf den System-URI (http://java.sun.com/dtd/preferences.dtd)nicht zugegriffen wird, wenn Einstellungen exportiert oder importiert werden. Er dient lediglich als Zeichenfolge, um die DTD eindeutig zu identifizieren. Dies ist:

{@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 >
            }

Jede Preferences Implementierung muss über eine zugehörige Implementierung verfügen PreferencesFactory . Jede Java(TM) SE-Implementierung muss angeben, welche PreferencesFactory Implementierung zum Generieren der Stammeinstellungsknoten verwendet wird. Dadurch kann der Administrator die Standardeinstellungsimplementierung durch eine alternative Implementierung ersetzen.

Implementierungshinweis: In der JRE von Sun befindet sich die PreferencesFactory Implementierung wie folgt:

<Ol>

<Li>

Wenn die Systemeigenschaft java.util.prefs.PreferencesFactory definiert ist, wird sie als vollqualifizierter Name einer Klasse betrachtet, die die PreferencesFactory Schnittstelle implementiert. Die -Klasse wird geladen und instanziiert. Wenn dieser Prozess fehlschlägt, wird ein nicht angegebener Fehler ausgelöst.

</Li>

<Li>

Wenn eine PreferencesFactory Implementierungsklassendatei in einer JAR-Datei installiert wurde, die java.lang.ClassLoader#getSystemClassLoader system class loaderfür sichtbar ist, und diese JAR-Datei eine Anbieterkonfigurationsdatei namens java.util.prefs.PreferencesFactory im Ressourcenverzeichnis META-INF/servicesenthält, wird der in dieser Datei angegebene erste Klassenname übernommen. Wenn mehr als eine solche JAR-Datei bereitgestellt wird, wird die erste gefundene verwendet. Die -Klasse wird geladen und instanziiert. Wenn dieser Prozess fehlschlägt, wird ein nicht angegebener Fehler ausgelöst.

</Li>

<Li>

Wenn schließlich weder die oben genannte Systemeigenschaft noch eine JAR-Erweiterungsdatei bereitgestellt wird, wird die systemweite Standardimplementierung PreferencesFactory für die zugrunde liegende Plattform geladen und instanziiert.

</Li>

</Ol>

In Version 1.4 hinzugefügt.

Java-Dokumentation für java.util.prefs.Preferences.

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Preferences()

Einziger Konstruktor.

Preferences(IntPtr, JniHandleOwnership)

Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Runtime aufgerufen.

Felder

MaxKeyLength

Maximale Länge der als Schlüssel zulässigen Zeichenfolge (80 Zeichen).

MaxNameLength

Maximale Länge eines Knotennamens (80 Zeichen).

MaxValueLength

Maximal zulässige Länge der Zeichenfolge als Wert (8192 Zeichen).

Eigenschaften

Class

Gibt die Laufzeitklasse dieses Objectzurück.

(Geerbt von Object)
Handle

Das Handle für die zugrunde liegende Android-instance.

(Geerbt von Object)
IsUserNode

Gibt zurück, ob es sich um einen Benutzereinstellungsknoten handelt.

JniIdentityHashCode

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

(Geerbt von Object)
JniPeerMembers

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

PeerReference

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

(Geerbt von Object)
ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

Methoden

AbsolutePath()

Gibt den absoluten Pfadnamen dieses Einstellungsknotens zurück.

AddNodeChangeListener(INodeChangeListener)

Registriert den angegebenen Listener, um Knotenänderungsereignisse für diesen Knoten zu empfangen.

AddPreferenceChangeListener(IPreferenceChangeListener)

Registriert den angegebenen Listener, um Einstellungsänderungsereignisse für diesen Einstellungsknoten zu empfangen.

ChildrenNames()

Gibt die Namen der untergeordneten Elemente dieses Einstellungsknotens relativ zu diesem Knoten zurück.

Clear()

Entfernt alle Einstellungen (Schlüssel-Wert-Zuordnungen) in diesem Einstellungsknoten.

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Dispose()

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

(Geerbt von Object)
Dispose(Boolean)

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

(Geerbt von Object)
Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem objekt ist.

(Geerbt von Object)
ExportNode(Stream)

Gibt für den angegebenen Ausgabedatenstrom ein XML-Dokument aus, das alle in diesem Knoten enthaltenen Einstellungen (aber nicht dessen Nachfolger) darstellt.

ExportNodeAsync(Stream)

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

ExportSubtree(Stream)

Gibt ein XML-Dokument aus, das alle in diesem Knoten enthaltenen Einstellungen und alle seine Nachfolger darstellt.

ExportSubtreeAsync(Stream)

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

Flush()

Erzwingt alle Änderungen am Inhalt dieses Einstellungsknotens und seiner Nachfolger an den persistenten Speicher.

FlushAsync()

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

Get(String, String)

Gibt den Wert zurück, der dem angegebenen Schlüssel in diesem Einstellungsknoten zugeordnet ist.

GetBoolean(String, Boolean)

Gibt den booleschen Wert zurück, der durch die Zeichenfolge dargestellt wird, die dem angegebenen Schlüssel in diesem Einstellungsknoten zugeordnet ist.

GetByteArray(String, Byte[])

Gibt den Bytearraywert zurück, der durch die Zeichenfolge dargestellt wird, die dem angegebenen Schlüssel in diesem Einstellungsknoten zugeordnet ist.

GetDouble(String, Double)

Gibt den doppelten Wert zurück, der durch die Zeichenfolge dargestellt wird, die dem angegebenen Schlüssel in diesem Einstellungsknoten zugeordnet ist.

GetFloat(String, Single)

Gibt den float-Wert zurück, der durch die Zeichenfolge dargestellt wird, die dem angegebenen Schlüssel in diesem Einstellungsknoten zugeordnet ist.

GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
GetInt(String, Int32)

Gibt den wert int zurück, der durch die Zeichenfolge dargestellt wird, die dem angegebenen Schlüssel in diesem Einstellungsknoten zugeordnet ist.

GetLong(String, Int64)

Gibt den long-Wert zurück, der durch die Zeichenfolge dargestellt wird, die dem angegebenen Schlüssel in diesem Einstellungsknoten zugeordnet ist.

ImportPreferences(Stream)

Importiert alle Durch das XML-Dokument dargestellten Einstellungen für den angegebenen Eingabedatenstrom.

ImportPreferencesAsync(Stream)

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind.

(Geerbt von Object)
Keys()

Gibt alle Schlüssel zurück, die in diesem Einstellungsknoten über einen zugeordneten Wert verfügen.

Name()

Gibt den Namen dieses Einstellungsknotens relativ zum übergeordneten Knoten zurück.

Node(String)

Gibt den benannten Einstellungsknoten in derselben Struktur wie dieser Knoten zurück und erstellt ihn und einen seiner Vorgänger, sofern diese noch nicht vorhanden sind.

NodeExists(String)

Gibt true zurück, wenn der benannte Einstellungsknoten in derselben Struktur wie dieser Knoten vorhanden ist.

Notify()

Aktiviert einen einzelnen Thread, der auf den Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf den Monitor dieses Objekts warten.

(Geerbt von Object)
Parent()

Gibt das übergeordnete Element dieses Einstellungsknotens zurück, oder null , wenn dies der Stamm ist.

Put(String, String)

Ordnet den angegebenen Wert dem angegebenen Schlüssel in diesem Einstellungsknoten zu.

PutBoolean(String, Boolean)

Ordnet dem angegebenen Schlüssel in diesem Einstellungsknoten eine Zeichenfolge zu, die den angegebenen booleschen Wert darstellt.

PutByteArray(String, Byte[])

Ordnet dem angegebenen Schlüssel in diesem Einstellungsknoten eine Zeichenfolge zu, die das angegebene Bytearray darstellt.

PutDouble(String, Double)

Ordnet dem angegebenen Schlüssel in diesem Einstellungsknoten eine Zeichenfolge zu, die den angegebenen Double-Wert darstellt.

PutFloat(String, Single)

Ordnet dem angegebenen Schlüssel in diesem Einstellungsknoten eine Zeichenfolge zu, die den angegebenen Gleitkommawert darstellt.

PutInt(String, Int32)

Ordnet eine Zeichenfolge, die den angegebenen int-Wert darstellt, dem angegebenen Schlüssel in diesem Einstellungsknoten zu.

PutLong(String, Int64)

Ordnet dem angegebenen Schlüssel in diesem Einstellungsknoten eine Zeichenfolge zu, die den angegebenen long-Wert darstellt.

Remove(String)

Entfernt den Wert, der dem angegebenen Schlüssel in diesem Einstellungsknoten zugeordnet ist, falls vorhanden.

RemoveNode()

Entfernt diesen Einstellungsknoten und alle untergeordneten Elemente, wodurch alle In den entfernten Knoten enthaltenen Einstellungen ungültig werden.

RemoveNodeChangeListener(INodeChangeListener)

Entfernt die angegebene NodeChangeListener, sodass keine Änderungsereignisse mehr empfangen werden.

RemovePreferenceChangeListener(IPreferenceChangeListener)

Entfernt den angegebenen Einstellungsänderungslistener, sodass er keine Einstellungsänderungsereignisse mehr empfängt.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
Sync()

Stellt sicher, dass zukünftige Lesevorgänge aus diesem Einstellungsknoten und seinen Nachfolgern alle Änderungen widerspiegeln, die vor dem Aufruf an den sync persistenten Speicher (von einem beliebigen virtuellen Computer) committet wurden.

SyncAsync()

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

SystemNodeForPackage(Class)

<starke>WARNUNG:</strong> Unter Android werden die Einstellungsknoten, die den Einstellungen "System" und "Benutzer" entsprechen, in Abschnitten des Dateisystems gespeichert, auf die apps nicht zugreifen können.

SystemRoot()

<starke>WARNUNG:</strong> Unter Android werden die Einstellungsknoten, die den Einstellungen "System" und "Benutzer" entsprechen, in Abschnitten des Dateisystems gespeichert, auf die apps nicht zugreifen können.

ToArray<T>()

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung dieses Einstellungsknotens zurück, als ob sie durch den Ausdruck berechnet würde.(this.isUserNode() ? "User" : "System") + " Preference Node: " + this.absolutePath()

UnregisterFromRuntime()

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

(Geerbt von Object)
UserNodeForPackage(Class)

<starke>WARNUNG:</strong> Unter Android werden die Einstellungsknoten, die den Einstellungen "System" und "Benutzer" entsprechen, in Abschnitten des Dateisystems gespeichert, auf die apps nicht zugreifen können.

UserRoot()

<starke>WARNUNG:</strong> Unter Android werden die Einstellungsknoten, die den Einstellungen "System" und "Benutzer" entsprechen, in Abschnitten des Dateisystems gespeichert, auf die apps nicht zugreifen können.

Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch <>Benachrichtigung</em> oder <em>interrupted</em>.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch>< Benachrichtigung</em> oder <em>interrupted</em>, oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch>< Benachrichtigung</em> oder <em>interrupted</em>, oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IJavaPeerable.Disposed()

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

(Geerbt von Object)
IJavaPeerable.Finalized()

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

(Geerbt von Object)

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine Typkonvertierung mit Überprüfung der Android-Laufzeit aus.

JavaCast<TResult>(IJavaObject)

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

GetJniTypeName(IJavaPeerable)

Ein Knoten in einer hierarchischen Auflistung von Präferenzdaten.

Gilt für: