AbstractPreferences Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Questa classe fornisce un'implementazione scheletra della Preferences classe, semplificando notevolmente l'attività di implementazione.
[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
- Ereditarietà
- Attributi
Commenti
Questa classe fornisce un'implementazione scheletra della Preferences classe, semplificando notevolmente l'attività di implementazione.
<strong>Questa classe è solo per Preferences gli implementatori. Gli utenti normali della Preferences struttura non devono dover consultare questa documentazione. La Preferences documentazione dovrebbe essere sufficiente.</strong>
Gli implementatori devono eseguire l'override dei nove metodi SPI (Service Provider Interface) astratti: #getSpi(String), #putSpi(String,String)#removeSpi(String)#childSpi(String)#removeNodeSpi(), #keysSpi(), #childrenNamesSpi(), #syncSpi() e .#flushSpi() Tutti i metodi concreti specificano esattamente come vengono implementati su questi metodi SPI. L'implementatore può, a sua discrezione, eseguire l'override di uno o più metodi concreti se l'implementazione predefinita non è soddisfacente per qualsiasi motivo, ad esempio le prestazioni.
I metodi SPI rientrano in tre gruppi relativi al comportamento delle eccezioni. Il getSpi metodo non deve mai generare eccezioni, ma non importa, perché qualsiasi eccezione generata da questo metodo verrà intercettata da #get(String,String), che restituirà il valore predefinito specificato al chiamante. I removeNodeSpi, keysSpi, childrenNamesSpi, syncSpi metodi e flushSpi vengono specificati per generare BackingStoreExceptione l'implementazione è necessaria per generare questa eccezione controllata se non è in grado di eseguire l'operazione. L'eccezione si propaga verso l'esterno, causando l'esito negativo del metodo API corrispondente.
I metodi #putSpi(String,String)#removeSpi(String) SPI rimanenti e #childSpi(String) hanno un comportamento di eccezione più complesso. Non vengono specificati per generare BackingStoreException, perché in genere possono obbedire ai contratti anche se l'archivio di backup non è disponibile. Ciò è vero perché non restituiscono informazioni e i relativi effetti non sono necessari per diventare permanenti fino a quando non viene eseguita una chiamata successiva a Preferences#flush() o Preferences#sync(). In generale, questi metodi SPI non devono generare eccezioni. In alcune implementazioni, potrebbero esserci circostanze in cui queste chiamate non possono nemmeno accodare l'operazione richiesta per un'elaborazione successiva. Anche in queste circostanze è in genere preferibile ignorare semplicemente la chiamata e la restituzione, anziché generare un'eccezione. In queste circostanze, tuttavia, tutte le chiamate successive di flush() e dovrebbero restituire sync, come la restituzione false implica che tutte le operazioni precedenti erano true state rese permanenti.
Esiste una circostanza in cui putSpi, removeSpi and childSpideve generare un'eccezione: se il chiamante non dispone di privilegi sufficienti per il sistema operativo sottostante per eseguire l'operazione richiesta. Ciò avverrà, ad esempio, nella maggior parte dei sistemi se un utente senza privilegi tenta di modificare le preferenze di sistema. I privilegi necessari variano dall'implementazione all'implementazione. In alcune implementazioni, sono il diritto di modificare il contenuto di alcune directory nel file system; in altri sono il diritto di modificare il contenuto di alcune chiavi in un Registro di sistema. In una di queste circostanze, in genere sarebbe indesiderato consentire al programma di continuare l'esecuzione come se queste operazioni diventassero permanenti in un secondo momento. Anche se le implementazioni non sono necessarie per generare un'eccezione in queste circostanze, sono incoraggiate a farlo. Un SecurityException sarebbe appropriato.
La maggior parte dei metodi SPI richiede l'implementazione per leggere o scrivere informazioni in un nodo preferenze. L'implementatore deve tenere presente che un'altra macchina virtuale potrebbe aver eliminato contemporaneamente questo nodo dall'archivio di backup. È responsabilità dell'implementazione ricreare il nodo se è stato eliminato.
Nota di implementazione: nelle implementazioni predefinite Preferences di Sun, l'identità dell'utente viene ereditata dal sistema operativo sottostante e non cambia per la durata della macchina virtuale. È riconosciuto che le implementazioni lato Preferences server possono avere la modifica dell'identità utente dalla richiesta alla richiesta, passate in modo implicito ai Preferences metodi tramite l'uso di un'istanza statica ThreadLocal . Gli autori di tali implementazioni sono fortemente invitati a determinare l'utente al momento dell'accesso alle preferenze (ad esempio tramite il #get(String,String) metodo o #put(String,String) ) anziché associare definitivamente un utente a ogni Preferences istanza. Quest'ultimo comportamento è in conflitto con l'utilizzo normale Preferences e causerebbe una grande confusione.
Aggiunta nella versione 1.4.
per java.util.prefs.AbstractPreferences.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Costruttori
| Nome | Descrizione |
|---|---|
| AbstractPreferences(AbstractPreferences, String) |
Crea un nodo preferenza con l'elemento padre specificato e il nome specificato rispetto al relativo elemento padre. |
| AbstractPreferences(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
Campi
| Nome | Descrizione |
|---|---|
| MaxKeyLength |
Lunghezza massima della stringa consentita come chiave (80 caratteri). (Ereditato da Preferences) |
| MaxNameLength |
Lunghezza massima di un nome di nodo (80 caratteri). (Ereditato da Preferences) |
| MaxValueLength |
Lunghezza massima della stringa consentita come valore (8192 caratteri). (Ereditato da Preferences) |
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| IsRemoved |
Restituisce |
| IsUserNode |
Implementa il |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniPeerMembers |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
| Lock |
Oggetto il cui monitoraggio viene utilizzato per bloccare questo nodo. |
| NewNode |
Questo campo deve essere |
| PeerReference |
Ottiene il riferimento all'oggetto JNI per questo peer Java. (Ereditato da Object) |
| ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
| ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
Metodi
| Nome | Descrizione |
|---|---|
| AbsolutePath() |
Implementa il |
| AddNodeChangeListener(INodeChangeListener) |
Registra un'istanza |
| AddPreferenceChangeListener(IPreferenceChangeListener) |
Registra un'istanza |
| CachedChildren() |
Restituisce tutti gli elementi figlio non spostati noti di questo nodo. |
| ChildrenNames() |
Implementa il |
| ChildrenNamesSpi() |
Restituisce i nomi degli elementi figlio di questo nodo preferenza. |
| ChildSpi(String) |
Restituisce l'elemento figlio denominato di questo nodo preferenza, creandolo se non esiste già. |
| Clear() |
Implementa il |
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| Dispose() |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dispose(Boolean) |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| ExportNode(Stream) |
Implementa il |
| ExportNodeAsync(Stream) |
Genera in modo asincrono un documento XML che rappresenta tutte le preferenze contenute in questo nodo, ma non i relativi discendenti. (Ereditato da Preferences) |
| ExportSubtree(Stream) |
Implementa il |
| ExportSubtreeAsync(Stream) |
Genera in modo asincrono un documento XML che rappresenta tutte le preferenze contenute in questo nodo e tutti i relativi discendenti. (Ereditato da Preferences) |
| Flush() |
Implementa il |
| FlushAsync() |
Forza in modo asincrono le modifiche apportate a questo nodo preferenza e ai relativi discendenti nell'archivio permanente. (Ereditato da Preferences) |
| FlushSpi() |
Questo metodo viene richiamato con questo nodo bloccato. |
| Get(String, String) |
Implementa il |
| GetBoolean(String, Boolean) |
Implementa il |
| GetByteArray(String, Byte[]) |
Implementa il |
| GetChild(String) |
Restituisce l'elemento figlio denominato, se esistente, o |
| GetDouble(String, Double) |
Implementa il |
| GetFloat(String, Single) |
Implementa il |
| GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
| GetInt(String, Int32) |
Implementa il |
| GetLong(String, Int64) |
Implementa il |
| GetSpi(String) |
Restituisce il valore associato alla chiave specificata in questo nodo preferenza o |
| JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| Keys() |
Implementa il |
| KeysSpi() |
Restituisce tutte le chiavi con un valore associato in questo nodo preferenza. |
| Name() |
Implementa il |
| Node(String) |
Implementa il |
| NodeExists(String) |
Implementa il |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| Parent() |
Implementa il |
| Put(String, String) |
Implementa il |
| PutBoolean(String, Boolean) |
Implementa il |
| PutByteArray(String, Byte[]) |
Implementa il |
| PutDouble(String, Double) |
Implementa il |
| PutFloat(String, Single) |
Implementa il |
| PutInt(String, Int32) |
Implementa il |
| PutLong(String, Int64) |
Implementa il |
| PutSpi(String, String) |
Inserire l'associazione chiave-valore specificata in questo nodo preferenza. |
| Remove(String) |
Implementa il |
| RemoveNode() |
Implementa il |
| RemoveNodeChangeListener(INodeChangeListener) |
Rimuove l'istanza specificata |
| RemoveNodeSpi() |
Rimuove questo nodo preferenza, invalidandolo e tutte le preferenze contenute. |
| RemovePreferenceChangeListener(IPreferenceChangeListener) |
Rimuove l'istanza specificata |
| RemoveSpi(String) |
Rimuovere l'associazione (se presente) per la chiave specificata in questo nodo preferenza. |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| Sync() |
Implementa il |
| SyncAsync() |
Sincronizza in modo asincrono questo nodo preferenza e i relativi discendenti con l'archivio permanente. (Ereditato da Preferences) |
| SyncSpi() |
Questo metodo viene richiamato con questo nodo bloccato. |
| ToArray<T>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToString() |
Restituisce una rappresentazione di stringa del nodo preferenze. |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
Notifica al runtime di interoperabilità che il peer gestito è stato eliminato. (Ereditato da Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Rilascia questo Java peer a meno che non venga conservato da un altro riferimento gestito. (Ereditato da Object) |
| IJavaPeerable.Finalized() |
Notifica al runtime di interoperabilità che il peer gestito è stato finalizzato. (Ereditato da Object) |
| IJavaPeerable.JniManagedPeerState |
Ottiene lo stato che descrive la relazione tra questo peer gestito e il relativo riferimento JNI. (Ereditato da Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Imposta il codice hash dell'identità di interoperabilità per questo Java peer. (Ereditato da Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Imposta lo stato peer gestito e JNI per questo peer Java. (Ereditato da Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Imposta il riferimento all'oggetto JNI usato da questo peer gestito. (Ereditato da Object) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Questa classe fornisce un'implementazione scheletra della |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |