Preferences 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.
Nodo in una raccolta gerarchica di dati delle preferenze.
[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
- Ereditarietà
- Derivato
- Attributi
Commenti
Nodo in una raccolta gerarchica di dati delle preferenze. Questa classe consente alle applicazioni di archiviare e recuperare dati di configurazione e preferenza utente e sistema. Questi dati vengono archiviati in modo permanente in un archivio di backup dipendente dall'implementazione. Le implementazioni tipiche includono file flat, registri specifici del sistema operativo, server di directory e database SQL. L'utente di questa classe non deve preoccuparsi dei dettagli dell'archivio di backup.
Esistono due alberi separati dei nodi delle preferenze, uno per le preferenze utente e uno per le preferenze di sistema. Ogni utente ha un albero delle preferenze utente separato e tutti gli utenti di un determinato sistema condividono lo stesso albero delle preferenze di sistema. La descrizione precisa di "utente" e "sistema" varia dall'implementazione all'implementazione. Le informazioni tipiche archiviate nell'albero delle preferenze utente possono includere la scelta del carattere, la scelta del colore o la posizione e le dimensioni della finestra preferite per una determinata applicazione. Le informazioni tipiche archiviate nell'albero delle preferenze di sistema possono includere i dati di configurazione dell'installazione per un'applicazione.
I nodi in un albero delle preferenze vengono denominati in modo simile alle directory in un file system gerarchico. Ogni nodo in un albero delle preferenze ha un nome di nodo (che non è necessariamente univoco), un nome di percorso assoluto univoco e un nome di percorso relativo a ogni predecessore incluso se stesso.
Il nodo radice ha un nome di nodo della stringa vuota (""). Ogni altro nodo ha un nome di nodo arbitrario, specificato al momento della creazione. Le uniche restrizioni per questo nome sono che non possono essere la stringa vuota e non possono contenere il carattere barra ('/').
Il nodo radice ha un nome di percorso assoluto di "/". Gli elementi figlio del nodo radice hanno nomi di percorso assoluti di
Il nome del percorso di un nodo n rispetto al relativo predecessore è semplicemente la stringa che deve essere aggiunta al nome del percorso assoluto di un nodo per formare il nome del percorso assoluto di n, con il carattere barra iniziale (se presente) rimosso. Si noti che: <ul><li>Nessun nome di percorso relativo inizia con il carattere barra. <li>Il nome del percorso di ogni nodo rispetto a se stesso è la stringa vuota. <li>Il nome del percorso di ogni nodo rispetto al relativo padre è il nome del nodo (ad eccezione del nodo radice, che non ha un elemento padre). <li>Il nome del percorso di ogni nodo relativo alla radice è il nome del percorso assoluto con il carattere barra iniziale rimosso. </ul>
Si noti infine che: <ul><li>No path name contiene più caratteri barra consecutivi. <li No path name with the exception of the root's absolute path name ends in the slash character.li>No path name with the exception of the root's absolute path name ends in the slash character. <li>Qualsiasi stringa conforme a queste due regole è un nome di percorso valido. </ul>
Tutti i metodi che modificano i dati delle preferenze sono autorizzati a funzionare in modo asincrono; possono restituire immediatamente e le modifiche verranno propagate all'archivio di backup permanente con un ritardo dipendente dall'implementazione. Il flush metodo può essere usato per forzare in modo sincrono gli aggiornamenti nell'archivio di backup. La chiusura normale della macchina virtuale Java non comporterà la perdita di aggiornamenti in sospeso. Una chiamata esplicita flushnon è necessaria al termine per garantire che gli aggiornamenti in sospeso vengano resi persistenti.
Tutti i metodi che leggono le preferenze da un Preferences oggetto richiedono che l'invoker fornisca un valore predefinito. Il valore predefinito viene restituito se in precedenza non è stato impostato alcun valore o se l'archivio di backup non è disponibile. Lo scopo è consentire alle applicazioni di funzionare, anche se con funzionalità leggermente ridotte, anche se l'archivio di backup diventa non disponibile. Diversi metodi, ad esempio flush, hanno semantica che impediscono loro di funzionare se l'archivio di backup non è disponibile. Le applicazioni comuni non devono dover richiamare uno di questi metodi, che possono essere identificati dal fatto che sono dichiarati per generare BackingStoreException.
I metodi in questa classe possono essere richiamati simultaneamente da più thread in una singola JVM senza la necessità di sincronizzazione esterna e i risultati saranno equivalenti a un'esecuzione seriale. Se questa classe viene usata simultaneamente da più JVM che archiviano i dati di preferenza nello stesso archivio di backup, l'archivio dati non verrà danneggiato, ma non vengono effettuate altre garanzie relative alla coerenza dei dati delle preferenze.
Questa classe contiene una funzionalità di esportazione/importazione, che consente di "esportare" le preferenze in un documento XML e di documenti XML che rappresentano le preferenze da "importare" nel sistema. Questa funzionalità può essere utilizzata per eseguire il backup di tutti o parte di un albero delle preferenze e successivamente di eseguire il ripristino dal backup.
Il documento XML ha la seguente dichiarazione DOCTYPE:
{@code
<!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">
}
Si noti che l'URI di sistema (http://java.sun.com/dtd/preferences.dtd)non è accessibile durante l'esportazione o l'importazione delle preferenze; funge semplicemente da stringa per identificare in modo univoco il DTD, ovvero:
{@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 >
}
Ogni Preferences implementazione deve avere un'implementazione associata PreferencesFactory . Ogni implementazione di Java(TM) SE deve fornire alcuni mezzi per specificare quale PreferencesFactory implementazione viene usata per generare i nodi delle preferenze radice. In questo modo l'amministratore può sostituire l'implementazione delle preferenze predefinite con un'implementazione alternativa.
Nota di implementazione: in JRE di Sun, l'implementazione PreferencesFactory si trova nel modo seguente:
<ol>
<li>
Se la proprietà java.util.prefs.PreferencesFactory di sistema è definita, viene usata come nome completo di una classe che implementa l'interfaccia PreferencesFactory . La classe viene caricata e creata un'istanza; se questo processo ha esito negativo, viene generato un errore non specificato.
</li>
<li>
Se un PreferencesFactory file di classe di implementazione è stato installato in un file JAR visibile al java.lang.ClassLoader#getSystemClassLoader system class loaderfile con estensione jar contenente un file di configurazione del provider denominato java.util.prefs.PreferencesFactory nella directory META-INF/servicesdella risorsa , viene acquisito il nome della prima classe specificato in tale file. Se vengono forniti più file JAR, verrà usato il primo trovato. La classe viene caricata e creata un'istanza; se questo processo ha esito negativo, viene generato un errore non specificato.
</li>
<li>
Infine, se non viene fornita né la proprietà di sistema sopra menzionata né un file jar di estensione, viene caricata e creata un'istanza dell'implementazione predefinita PreferencesFactory a livello di sistema per la piattaforma sottostante.
</li>
</ol>
Aggiunta nella versione 1.4.
per java.util.prefs.Preferences.
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 |
|---|---|
| Preferences() |
Solo costruttore. |
| Preferences(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). |
| MaxNameLength |
Lunghezza massima di un nome di nodo (80 caratteri). |
| MaxValueLength |
Lunghezza massima della stringa consentita come valore (8192 caratteri). |
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| IsUserNode |
Restituisce un valore che indica se si tratta di un nodo preferenza utente. |
| 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. |
| 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() |
Restituisce il nome del percorso assoluto del nodo preferenza. |
| AddNodeChangeListener(INodeChangeListener) |
Registra il listener specificato per ricevere gli eventi di modifica del nodo per questo nodo. |
| AddPreferenceChangeListener(IPreferenceChangeListener) |
Registra il listener specificato per ricevere gli eventi di modifica delle preferenze per questo nodo preferenza. |
| ChildrenNames() |
Restituisce i nomi degli elementi figlio di questo nodo preferenza, rispetto a questo nodo. |
| Clear() |
Rimuove tutte le preferenze (associazioni chiave-valore) in questo nodo preferenza. |
| 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) |
Genera nel flusso di output specificato un documento XML che rappresenta tutte le preferenze contenute in questo nodo ,ma non i relativi discendenti. |
| ExportNodeAsync(Stream) |
Genera in modo asincrono un documento XML che rappresenta tutte le preferenze contenute in questo nodo, ma non i relativi discendenti. |
| ExportSubtree(Stream) |
Genera un documento XML che rappresenta tutte le preferenze contenute in questo nodo e tutti i relativi discendenti. |
| ExportSubtreeAsync(Stream) |
Genera in modo asincrono un documento XML che rappresenta tutte le preferenze contenute in questo nodo e tutti i relativi discendenti. |
| Flush() |
Forza le modifiche apportate al contenuto di questo nodo preferenza e ai relativi discendenti nell'archivio permanente. |
| FlushAsync() |
Forza in modo asincrono le modifiche apportate a questo nodo preferenza e ai relativi discendenti nell'archivio permanente. |
| Get(String, String) |
Restituisce il valore associato alla chiave specificata in questo nodo preferenza. |
| GetBoolean(String, Boolean) |
Restituisce il valore booleano rappresentato dalla stringa associata alla chiave specificata in questo nodo preferenza. |
| GetByteArray(String, Byte[]) |
Restituisce il valore della matrice di byte rappresentato dalla stringa associata alla chiave specificata in questo nodo preferenza. |
| GetDouble(String, Double) |
Restituisce il valore double rappresentato dalla stringa associata alla chiave specificata in questo nodo preferenza. |
| GetFloat(String, Single) |
Restituisce il valore float rappresentato dalla stringa associata alla chiave specificata in questo nodo preferenza. |
| GetHashCode() |
Restituisce un valore di codice hash per l'oggetto . (Ereditato da Object) |
| GetInt(String, Int32) |
Restituisce il valore int rappresentato dalla stringa associata alla chiave specificata in questo nodo preferenza. |
| GetLong(String, Int64) |
Restituisce il valore long rappresentato dalla stringa associata alla chiave specificata in questo nodo preferenza. |
| ImportPreferences(Stream) |
Importa tutte le preferenze rappresentate dal documento XML nel flusso di input specificato. |
| ImportPreferencesAsync(Stream) |
Importa in modo asincrono tutte le preferenze rappresentate dal documento XML nel flusso di input specificato. |
| JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| Keys() |
Restituisce tutte le chiavi con un valore associato in questo nodo preferenza. |
| Name() |
Restituisce il nome del nodo preferenza rispetto al relativo elemento padre. |
| Node(String) |
Restituisce il nodo preferenza denominata nello stesso albero di questo nodo, creandolo e uno dei relativi predecessori, se non esistono già. |
| NodeExists(String) |
Restituisce true se il nodo preferenza denominata esiste nello stesso albero del nodo. |
| 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() |
Restituisce l'elemento padre di questo nodo preferenza o |
| Put(String, String) |
Associa il valore specificato alla chiave specificata in questo nodo preferenza. |
| PutBoolean(String, Boolean) |
Associa una stringa che rappresenta il valore booleano specificato alla chiave specificata in questo nodo preferenza. |
| PutByteArray(String, Byte[]) |
Associa una stringa che rappresenta la matrice di byte specificata alla chiave specificata in questo nodo preferenza. |
| PutDouble(String, Double) |
Associa una stringa che rappresenta il valore double specificato alla chiave specificata in questo nodo preferenza. |
| PutFloat(String, Single) |
Associa una stringa che rappresenta il valore float specificato alla chiave specificata in questo nodo preferenza. |
| PutInt(String, Int32) |
Associa una stringa che rappresenta il valore int specificato alla chiave specificata in questo nodo preferenza. |
| PutLong(String, Int64) |
Associa una stringa che rappresenta il valore long specificato alla chiave specificata in questo nodo preferenza. |
| Remove(String) |
Rimuove il valore associato alla chiave specificata in questo nodo preferenza, se presente. |
| RemoveNode() |
Rimuove questo nodo preferenza e tutti i relativi discendenti, invalidando le preferenze contenute nei nodi rimossi. |
| RemoveNodeChangeListener(INodeChangeListener) |
Rimuove l'oggetto specificato |
| RemovePreferenceChangeListener(IPreferenceChangeListener) |
Rimuove il listener di modifica delle preferenze specificato, quindi non riceve più eventi di modifica delle preferenze. |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| Sync() |
Assicura che le letture future da questo nodo preferenza e i relativi discendenti riflettano le modifiche di cui è stato eseguito il commit nell'archivio permanente (da qualsiasi macchina virtuale) prima della |
| SyncAsync() |
Sincronizza in modo asincrono questo nodo preferenza e i relativi discendenti con l'archivio permanente. |
| SystemNodeForPackage(Class) |
<avviso sicuro>:</sicuro> in Android, i nodi preferenza corrispondenti alle preferenze "system" e "user" vengono archiviati nelle sezioni del file system inaccessibili alle app. |
| SystemRoot() |
<avviso sicuro>:</sicuro> in Android, i nodi preferenza corrispondenti alle preferenze "system" e "user" vengono archiviati nelle sezioni del file system inaccessibili alle app. |
| ToArray<T>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToString() |
Restituisce una rappresentazione di stringa di questo nodo preferenze, come se calcolata dall'espressione: |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| UserNodeForPackage(Class) |
<avviso sicuro>:</sicuro> in Android, i nodi preferenza corrispondenti alle preferenze "system" e "user" vengono archiviati nelle sezioni del file system inaccessibili alle app. |
| UserRoot() |
<avviso sicuro>:</sicuro> in Android, i nodi preferenza corrispondenti alle preferenze "system" e "user" vengono archiviati nelle sezioni del file system inaccessibili alle app. |
| 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) |
Nodo in una raccolta gerarchica di dati delle preferenze. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |