Preferences Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 loader
für sichtbar ist, und diese JAR-Datei eine Anbieterkonfigurationsdatei namens java.util.prefs.PreferencesFactory
im Ressourcenverzeichnis META-INF/services
enthä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 |
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 |
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 |
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 |
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. |
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. |