Condividi tramite


Preferences Classe

Definizione

Nodo in una raccolta gerarchica di dati di preferenza.

[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à
Preferences
Derivato
Attributi

Commenti

Nodo in una raccolta gerarchica di dati di preferenza. Questa classe consente alle applicazioni di archiviare e recuperare i 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 di nodi preferenza, 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 in 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 tipo di 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 potrebbero 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.

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 "/". I figli del nodo radice hanno nomi di percorso assoluti di "/" + < nome del nodo>. Tutti gli altri nodi hanno nomi di percorso assoluti di < nome assoluto del percorso padre> + "/" + < nome del nodo>. Si noti che tutti i nomi di percorso assoluti iniziano con il carattere barra.

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 rispetto 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>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 normale terminazione 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 al invoker di fornire 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 il funzionamento se l'archivio di backup non è disponibile. Le applicazioni normali non devono richiamare nessuno di questi metodi, che possono essere identificati dal fatto che vengono 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ù JVMs che archiviano i dati di preferenza nello stesso archivio di backup, l'archivio dati non verrà danneggiato, ma non verranno apportate altre garanzie relative alla coerenza dei dati di preferenza.

Questa classe contiene una struttura di esportazione/importazione, consentendo alle preferenze di essere "esportate" in un documento XML e documenti XML che rappresentano le preferenze da "importare" nel sistema. Questa funzionalità può essere usata per eseguire il backup di tutti o parte di un albero delle preferenze e successivamente ripristinare dal backup.

Il documento XML presenta la dichiarazione DOCTYPE seguente:

{@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 di preferenze; viene semplicemente usato come 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. Ciò consente all'amministratore di sostituire l'implementazione delle preferenze predefinite con un'implementazione alternativa.

Nota di implementazione: nel JRE di Sun l'implementazione PreferencesFactory si trova come segue:

<Ol>

<li>

Se la proprietà java.util.prefs.PreferencesFactory di sistema è definita, verrà visualizzato il 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 file di classe di implementazione è stato installato in un file jar visibile al java.lang.ClassLoader#getSystemClassLoader system class loaderfile jar e il file jar contiene un PreferencesFactory file di configurazione del provider denominato java.util.prefs.PreferencesFactory nella directory META-INF/servicesdi risorse , il nome della prima classe specificato in tale file viene eseguito. 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 precedente né un file jar di estensione, l'implementazione predefinita PreferencesFactory a livello di sistema per la piattaforma sottostante viene caricata e creata un'istanza.

</li>

</Ol>

Aggiunta nella versione 1.4.

Documentazione Java per java.util.prefs.Preferences.

Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .

Costruttori

Preferences()

Costruttore unico.

Preferences(IntPtr, JniHandleOwnership)

Costruttore utilizzato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Campi

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à

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
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

Nodo in una raccolta gerarchica di dati di preferenza.

(Ereditato da Object)
JniPeerMembers

Nodo in una raccolta gerarchica di dati di preferenza.

PeerReference

Nodo in una raccolta gerarchica di dati di preferenza.

(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

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()

Nodo in una raccolta gerarchica di dati di preferenza.

(Ereditato da Object)
Dispose(Boolean)

Nodo in una raccolta gerarchica di dati di preferenza.

(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)

Nodo in una raccolta gerarchica di dati di preferenza.

ExportSubtree(Stream)

Genera un documento XML che rappresenta tutte le preferenze contenute in questo nodo e tutti i relativi discendenti.

ExportSubtreeAsync(Stream)

Nodo in una raccolta gerarchica di dati di preferenza.

Flush()

Forza le modifiche apportate al contenuto di questo nodo preferenza e ai relativi discendenti nell'archivio permanente.

FlushAsync()

Nodo in una raccolta gerarchica di dati di preferenza.

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 del 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)

Nodo in una raccolta gerarchica di dati di preferenza.

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, relativo al relativo elemento padre.

Node(String)

Restituisce il nodo preferenza denominato 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 di questo nodo.

Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitoraggio di questo oggetto.

(Ereditato da Object)
Parent()

Restituisce l'elemento padre di questo nodo preferenza o null se si tratta della radice.

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 lungo 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 NodeChangeListener, in modo che non riceva più eventi di modifica.

RemovePreferenceChangeListener(IPreferenceChangeListener)

Rimuove il listener di modifica delle preferenze specificato, in modo che non riceva più gli 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 sync chiamata.

SyncAsync()

Nodo in una raccolta gerarchica di dati di preferenza.

SystemNodeForPackage(Class)

<avviso sicuro>:</sicuro> in Android, i nodi Preferenza corrispondenti alle preferenze "system" e "user" vengono archiviati in sezioni del file system che non sono accessibili alle app.

SystemRoot()

<avviso sicuro>:</sicuro> in Android, i nodi Preferenza corrispondenti alle preferenze "system" e "user" vengono archiviati in sezioni del file system che non sono accessibili alle app.

ToArray<T>()

Nodo in una raccolta gerarchica di dati di preferenza.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione di stringa di questo nodo preferenze, come se calcolata dall'espressione:(this.isUserNode() ? "User" : "System") + " Preference Node: " + this.absolutePath().

UnregisterFromRuntime()

Nodo in una raccolta gerarchica di dati di preferenza.

(Ereditato da Object)
UserNodeForPackage(Class)

<avviso sicuro>:</sicuro> in Android, i nodi Preferenza corrispondenti alle preferenze "system" e "user" vengono archiviati in sezioni del file system che non sono accessibili alle app.

UserRoot()

<avviso sicuro>:</sicuro> in Android, i nodi Preferenza corrispondenti alle preferenze "system" e "user" vengono archiviati in sezioni del file system che non sono accessibili alle app.

Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una>notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Nodo in una raccolta gerarchica di dati di preferenza.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Nodo in una raccolta gerarchica di dati di preferenza.

(Ereditato da Object)
IJavaPeerable.Finalized()

Nodo in una raccolta gerarchica di dati di preferenza.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Nodo in una raccolta gerarchica di dati di preferenza.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Nodo in una raccolta gerarchica di dati di preferenza.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Nodo in una raccolta gerarchica di dati di preferenza.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Nodo in una raccolta gerarchica di dati di preferenza.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo verificato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Nodo in una raccolta gerarchica di dati di preferenza.

GetJniTypeName(IJavaPeerable)

Nodo in una raccolta gerarchica di dati di preferenza.

Si applica a