AbstractPreferences 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.
Diese Klasse bietet eine Skelettimplementierung der Preferences Klasse und erleichtert die Implementierung erheblich.
[Android.Runtime.Register("java/util/prefs/AbstractPreferences", DoNotGenerateAcw=true)]
public abstract class AbstractPreferences : Java.Util.Prefs.Preferences
[<Android.Runtime.Register("java/util/prefs/AbstractPreferences", DoNotGenerateAcw=true)>]
type AbstractPreferences = class
inherit Preferences
- Vererbung
- Attribute
Hinweise
Diese Klasse bietet eine Skelettimplementierung der Preferences Klasse und erleichtert die Implementierung erheblich.
<strong>This class is for Preferences implementers only. Normale Nutzer der Preferences Einrichtung sollten diese Dokumentation nicht konsultieren müssen. Die Preferences Dokumentation sollte ausreichen.</strong>
Implementoren müssen die neun abstrakten SPI-Methoden (Service-Provider Interface) außer Kraft setzen: #getSpi(String), , #putSpi(String,String)#removeSpi(String), #childSpi(String), #removeNodeSpi(), #keysSpi()#childrenNamesSpi()und #syncSpi()#flushSpi() . Alle konkreten Methoden geben genau an, wie sie auf diese SPI-Methoden umgesetzt werden. Der Implementierer kann nach eigenem Ermessen eine oder mehrere konkrete Methoden außer Kraft setzen, wenn die Standardimplementierung aus irgendeinem Grund, z. B. leistung, nicht zufriedenstellend ist.
Die SPI-Methoden sind in drei Gruppen unterteilt, die das Ausnahmeverhalten betreffen. Die getSpi Methode sollte niemals Ausnahmen auslösen, aber es spielt keine Rolle, da jede Ausnahme, die von dieser Methode ausgelöst wird, abgefangen #get(String,String)wird, wodurch der angegebene Standardwert an den Aufrufer zurückgegeben wird. The removeNodeSpi, keysSpi, childrenNamesSpi, syncSpi and flushSpi methods are specified to throw BackingStoreException, and the implementation is required to throw this checked exception if it is unable to perform the operation. Die Ausnahme wird nach außen verteilt, wodurch die entsprechende API-Methode fehlschlägt.
Die verbleibenden SPI-Methoden #putSpi(String,String)#removeSpi(String) und #childSpi(String) weisen ein komplizierteres Ausnahmeverhalten auf. Sie werden nicht angegeben, um sie auszuwerfen BackingStoreException, da sie im Allgemeinen ihren Verträgen gehorchen können, auch wenn der Sicherungsspeicher nicht verfügbar ist. Dies trifft zu, weil sie keine Informationen zurückgeben und ihre Auswirkungen erst dauerhaft werden müssen, wenn ein nachfolgendes Aufrufen Preferences#flush() oder Preferences#sync(). Im Allgemeinen sollten diese SPI-Methoden keine Ausnahmen auslösen. In einigen Implementierungen kann es Situationen geben, unter denen diese Aufrufe den angeforderten Vorgang nicht einmal für die spätere Verarbeitung auffordern können. Selbst unter diesen Umständen ist es im Allgemeinen besser, den Aufruf und die Rückgabe einfach zu ignorieren, anstatt eine Ausnahme auszuwerfen. Unter diesen Umständen würden jedoch alle nachfolgenden Aufrufe und flush()sync Rückgaben falsebedeuten, dass true alle vorherigen Vorgänge erfolgreich dauerhaft durchgeführt wurden.
Es gibt einen Fall, putSpi, removeSpi and childSpi unter dem eine Ausnahme ausgelöst werden sollte: Wenn der Aufrufer über ausreichende Berechtigungen für das zugrunde liegende Betriebssystem verfügt, um den angeforderten Vorgang auszuführen. Dies tritt beispielsweise auf den meisten Systemen auf, wenn ein nicht privilegierter Benutzer versucht, die Systemeinstellungen zu ändern. (Die erforderlichen Berechtigungen variieren von Implementierung zu Implementierung. Bei einigen Implementierungen sind sie das Recht, den Inhalt eines Verzeichnisses im Dateisystem zu ändern; auf anderen Personen sind sie das Recht, den Inhalt eines Schlüssels in einer Registrierung zu ändern.) Unter diesen Umständen wäre es im Allgemeinen unerwünscht, das Programm weiterhin auszuführen, als ob diese Vorgänge zu einem späteren Zeitpunkt dauerhaft werden würden. Obwohl Implementierungen nicht erforderlich sind, um eine Ausnahme unter diesen Umständen auszulösen, werden sie ermutigt, dies zu tun. Eine SecurityException wäre angemessen.
Die meisten SPI-Methoden erfordern die Implementierung zum Lesen oder Schreiben von Informationen auf einem Einstellungsknoten. Der Implementor sollte sich der Tatsache bewusst sein, dass ein anderer virtueller Computer diesen Knoten möglicherweise gleichzeitig aus dem Sicherungsspeicher gelöscht hat. Es liegt in der Verantwortung der Implementierung, den Knoten neu zu erstellen, wenn er gelöscht wurde.
Implementierungshinweis: In den Standardimplementierungen Preferences von Sun wird die Identität des Benutzers vom zugrunde liegenden Betriebssystem geerbt und ändert sich nicht für die Lebensdauer des virtuellen Computers. Es wird erkannt, dass serverseitige Preferences Implementierungen möglicherweise die Benutzeridentität von Anforderung zu Anforderung ändern, implizit über die Verwendung einer statischen Preferences Instanz an ThreadLocal Methoden übergeben. Autoren solcher Implementierungen werden dringend empfohlen, den Benutzer zum Zeitpunkt des Zugriffs auf die Benutzereinstellungen (z. B. durch die #get(String,String) Methode #put(String,String) ) zu bestimmen, anstatt einen Benutzer dauerhaft mit jeder Preferences Instanz zu verknüpfen. Das letztere Verhalten ist mit der normalen Preferences Nutzung in Konflikt und würde zu großer Verwirrung führen.
In 1.4 hinzugefügt.
Java Dokumentation für java.util.prefs.AbstractPreferences.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
| Name | Beschreibung |
|---|---|
| AbstractPreferences(AbstractPreferences, String) |
Erstellt einen Einstellungsknoten mit dem angegebenen übergeordneten Element und dem angegebenen Namen relativ zum übergeordneten Element. |
| AbstractPreferences(IntPtr, JniHandleOwnership) |
Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen. |
Felder
| Name | Beschreibung |
|---|---|
| MaxKeyLength |
Maximale Länge der als Schlüssel zulässigen Zeichenfolge (80 Zeichen). (Geerbt von Preferences) |
| MaxNameLength |
Maximale Länge eines Knotennamens (80 Zeichen). (Geerbt von Preferences) |
| MaxValueLength |
Maximale Länge der als Wert zulässigen Zeichenfolge (8192 Zeichen). (Geerbt von Preferences) |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Class |
Gibt die Laufzeitklasse dieses Werts |
| Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
| IsRemoved |
Gibt |
| IsUserNode |
Implementiert die |
| JniIdentityHashCode |
Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist. (Geerbt von Object) |
| JniManagedPeerState |
Diese Klasse bietet eine Skelettimplementierung der |
| JniPeerMembers |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
| Lock |
Ein Objekt, dessen Monitor zum Sperren dieses Knotens verwendet wird. |
| NewNode |
Dieses Feld sollte sein |
| PeerReference |
Ruft den JNI-Objektverweis für diesen Java Peer ab. (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
| Name | Beschreibung |
|---|---|
| AbsolutePath() |
Implementiert die |
| AddNodeChangeListener(INodeChangeListener) |
Registriert eine |
| AddPreferenceChangeListener(IPreferenceChangeListener) |
Registriert eine |
| CachedChildren() |
Gibt alle bekannten nicht zugeordneten untergeordneten Elemente dieses Knotens zurück. |
| ChildrenNames() |
Implementiert die |
| ChildrenNamesSpi() |
Gibt die Namen der untergeordneten Elemente dieses Einstellungsknotens zurück. |
| ChildSpi(String) |
Gibt das benannte untergeordnete Element dieses Einstellungsknotens zurück, der erstellt wird, wenn er noch nicht vorhanden ist. |
| Clear() |
Implementiert die |
| Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Diese Klasse bietet eine Skelettimplementierung der |
| Dispose() |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| Dispose(Boolean) |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| DisposeUnlessReferenced() |
Diese Klasse bietet eine Skelettimplementierung der |
| Equals(Object) |
Diese Klasse bietet eine Skelettimplementierung der |
| Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
| ExportNode(Stream) |
Implementiert die |
| ExportNodeAsync(Stream) |
Gibt asynchron ein XML-Dokument aus, das alle In diesem Knoten enthaltenen Einstellungen darstellt, aber nicht dessen Nachfolger. (Geerbt von Preferences) |
| ExportSubtree(Stream) |
Implementiert die |
| ExportSubtreeAsync(Stream) |
Gibt asynchron ein XML-Dokument aus, das alle in diesem Knoten enthaltenen Einstellungen und alle untergeordneten Elemente darstellt. (Geerbt von Preferences) |
| Flush() |
Implementiert die |
| FlushAsync() |
Erzwingt asynchron alle Änderungen dieses Einstellungsknotens und seiner Nachfolger an den beständigen Speicher. (Geerbt von Preferences) |
| FlushSpi() |
Diese Methode wird mit diesem Knoten gesperrt aufgerufen. |
| Get(String, String) |
Implementiert die |
| GetBoolean(String, Boolean) |
Implementiert die |
| GetByteArray(String, Byte[]) |
Implementiert die |
| GetChild(String) |
Gibt das benannte untergeordnete Element zurück, wenn es vorhanden ist oder |
| GetDouble(String, Double) |
Implementiert die |
| GetFloat(String, Single) |
Implementiert die |
| GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
| GetInt(String, Int32) |
Implementiert die |
| GetLong(String, Int64) |
Implementiert die |
| GetSpi(String) |
Geben Sie den wert zurück, der dem angegebenen Schlüssel an diesem Einstellungsknoten zugeordnet ist, oder |
| JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
| Keys() |
Implementiert die |
| KeysSpi() |
Gibt alle Schlüssel zurück, die einen zugeordneten Wert in diesem Einstellungsknoten aufweisen. |
| Name() |
Implementiert die |
| Node(String) |
Implementiert die |
| NodeExists(String) |
Implementiert die |
| Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
| NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
| Parent() |
Implementiert die |
| Put(String, String) |
Implementiert die |
| PutBoolean(String, Boolean) |
Implementiert die |
| PutByteArray(String, Byte[]) |
Implementiert die |
| PutDouble(String, Double) |
Implementiert die |
| PutFloat(String, Single) |
Implementiert die |
| PutInt(String, Int32) |
Implementiert die |
| PutLong(String, Int64) |
Implementiert die |
| PutSpi(String, String) |
Fügen Sie die angegebene Schlüsselwertzuordnung in diesen Einstellungsknoten ein. |
| Remove(String) |
Implementiert die |
| RemoveNode() |
Implementiert die |
| RemoveNodeChangeListener(INodeChangeListener) |
Entfernt die angegebene |
| RemoveNodeSpi() |
Entfernt diesen Einstellungsknoten, das ungültige Element und alle darin enthaltenen Einstellungen. |
| RemovePreferenceChangeListener(IPreferenceChangeListener) |
Entfernt die angegebene |
| RemoveSpi(String) |
Entfernen Sie die Zuordnung (falls vorhanden) für den angegebenen Schlüssel auf diesem Einstellungsknoten. |
| SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Diese Klasse bietet eine Skelettimplementierung der |
| Sync() |
Implementiert die |
| SyncAsync() |
Synchronisiert diesen Einstellungsknoten und seine Nachfolger asynchron mit dem beständigen Speicher. (Geerbt von Preferences) |
| SyncSpi() |
Diese Methode wird mit diesem Knoten gesperrt aufgerufen. |
| ToArray<T>() |
Erstellt ein verwaltetes Array aus diesem Java Arraywrapper. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolgendarstellung dieses Einstellungsknotens zurück. |
| UnregisterFromRuntime() |
Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf. (Geerbt von Object) |
| Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><> (Geerbt von Object) |
| Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IJavaPeerable.Disposed() |
Diese Klasse bietet eine Skelettimplementierung der |
| IJavaPeerable.Finalized() |
Diese Klasse bietet eine Skelettimplementierung der |
| IJavaPeerable.JniObjectReferenceControlBlock |
Diese Klasse bietet eine Skelettimplementierung der |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Diese Klasse bietet eine Skelettimplementierung der |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Diese Klasse bietet eine Skelettimplementierung der |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Diese Klasse bietet eine Skelettimplementierung der |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
Diese Klasse bietet eine Skelettimplementierung der |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |