Preferences Clase

Definición

Un nodo de una colección jerárquica de datos de preferencias.

[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
Herencia
Preferences
Derivado
Atributos

Comentarios

Un nodo de una colección jerárquica de datos de preferencias. Esta clase permite a las aplicaciones almacenar y recuperar datos de configuración y preferencias del usuario y del sistema. Estos datos se almacenan de forma persistente en un almacén de respaldo dependiente de la implementación. Las implementaciones típicas incluyen archivos planos, registros específicos del sistema operativo, servidores de directorios y bases de datos SQL. El usuario de esta clase no necesita preocuparse por los detalles de la memoria auxiliar.

Hay dos árboles independientes de nodos de preferencia, uno para las preferencias del usuario y otro para las preferencias del sistema. Cada usuario tiene un árbol de preferencias de usuario independiente y todos los usuarios de un sistema determinado comparten el mismo árbol de preferencias del sistema. La descripción precisa de "usuario" y "sistema" variará de la implementación a la implementación. La información típica almacenada en el árbol de preferencias de usuario puede incluir la elección de fuente, la opción de color o la ubicación y el tamaño preferidos de la ventana para una aplicación determinada. La información típica almacenada en el árbol de preferencias del sistema puede incluir datos de configuración de instalación para una aplicación.

Los nodos de un árbol de preferencias se denominan de forma similar a los directorios de un sistema de archivos jerárquico. Cada nodo de un árbol de preferencias tiene un nombre de nodo (que no es necesariamente único), un nombre de ruta de acceso absoluto único y un nombre de ruta de acceso relativo a cada antecesor incluido.

El nodo raíz tiene un nombre de nodo de la cadena vacía (""). Cada otro nodo tiene un nombre de nodo arbitrario, especificado en el momento en que se crea. Las únicas restricciones de este nombre son que no puede ser la cadena vacía y no puede contener el carácter de barra diagonal ('/').

El nodo raíz tiene un nombre de ruta de acceso absoluto de "/". Los elementos secundarios del nodo raíz tienen nombres de ruta de acceso absolutos de "/" + < nombre del nodo>. Todos los demás nodos tienen nombres de ruta de acceso absolutos de < nombre de ruta de acceso absoluta del elemento primario> + "/" + < nombre del nodo>. Tenga en cuenta que todos los nombres de ruta de acceso absolutos comienzan por el carácter de barra diagonal.

El nombre de la ruta de acceso de un nodo n con respecto a su antecesor es simplemente la cadena que se debe anexar al nombre de ruta de acceso absoluta de un nodo para formar el nombre de ruta de acceso absoluta de n, con el carácter de barra diagonal inicial (si está presente) quitado. Tenga en cuenta que: <ul><li No hay>nombres de ruta de acceso relativos comienzan por el carácter de barra diagonal. <li>El nombre de la ruta de acceso de cada nodo con relación a sí mismo es la cadena vacía. <li>El nombre de ruta de acceso de cada nodo relativo a su elemento primario es su nombre de nodo (excepto el nodo raíz, que no tiene un elemento primario). <li>El nombre de ruta de acceso de cada nodo con respecto a la raíz es su nombre de ruta de acceso absoluto con el carácter de barra diagonal inicial quitado. </ul>

Tenga en cuenta que: <ul><li>No path name contiene varios caracteres de barra diagonal consecutivas. <li>Ningún nombre de ruta de acceso con la excepción del nombre de ruta de acceso absoluta de la raíz termina en el carácter de barra diagonal. <li>Cualquier cadena que se ajuste a estas dos reglas es un nombre de ruta de acceso válido. </ul>

Todos los métodos que modifican los datos de preferencias pueden funcionar de forma asincrónica; pueden devolver inmediatamente y los cambios se propagarán finalmente al almacén de respaldo persistente con un retraso dependiente de la implementación. El flush método se puede usar para forzar de forma sincrónica las actualizaciones en el almacén de respaldo. La terminación normal de la máquina virtual Java no dará lugar a la pérdida de actualizaciones pendientes; no se requiere una invocación explícita flush tras la finalización para asegurarse de que las actualizaciones pendientes se realicen de forma persistente.

Todos los métodos que leen preferencias de un Preferences objeto requieren que el invocador proporcione un valor predeterminado. El valor predeterminado se devuelve si no se ha establecido previamente ningún valor o si el almacén de respaldo no está disponible. La intención es permitir que las aplicaciones funcionen, aunque con una funcionalidad ligeramente degradada, incluso si el almacén de respaldo deja de estar disponible. Varios métodos, como flush, tienen semántica que impiden que funcionen si el almacén de respaldo no está disponible. Las aplicaciones ordinarias no deben tener necesidad de invocar ninguno de estos métodos, que se pueden identificar por el hecho de que se declaran para iniciar BackingStoreException.

Los métodos de esta clase pueden invocarse simultáneamente por varios subprocesos en una sola JVM sin necesidad de sincronización externa y los resultados serán equivalentes a alguna ejecución serie. Si varias JVM usan esta clase simultáneamente que almacenan sus datos de preferencia en el mismo almacén de respaldo, el almacén de datos no se dañará, pero no se realizará ninguna otra garantía relativa a la coherencia de los datos de preferencia.

Esta clase contiene una instalación de exportación e importación, lo que permite "exportar" preferencias a un documento XML y documentos XML que representan las preferencias que se van a "importar" al sistema. Esta instalación se puede usar para realizar copias de seguridad de todo o parte de un árbol de preferencias y, posteriormente, restaurar a partir de la copia de seguridad.

El documento XML tiene la siguiente declaración DOCTYPE:

{@code
<!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">
            }

Tenga en cuenta que no se tiene acceso al URI del sistema (http://java.sun.com/dtd/preferences.dtd) al exportar o importar preferencias; simplemente sirve como una cadena para identificar de forma única el DTD, que es:

{@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 >
            }

Cada Preferences implementación debe tener una implementación asociada PreferencesFactory . Cada implementación de Java(TM) SE debe proporcionar algún medio para especificar qué PreferencesFactory implementación se usa para generar los nodos de preferencias raíz. Esto permite al administrador reemplazar la implementación de preferencias predeterminada por una implementación alternativa.

Nota de implementación: En JRE de Sun, la PreferencesFactory implementación se encuentra de la siguiente manera:

<Ol>

<Li>

Si se define la propiedad java.util.prefs.PreferencesFactory del sistema, se toma como el nombre completo de una clase que implementa la PreferencesFactory interfaz. Se carga y se crea una instancia de la clase ; si se produce un error en este proceso, se produce un error no especificado.

</Li>

<Li>

Si se ha instalado un PreferencesFactory archivo de clase de implementación en un archivo jar visible para y java.lang.ClassLoader#getSystemClassLoader system class loaderese archivo jar contiene un archivo de configuración de proveedor denominado java.util.prefs.PreferencesFactory en el directorio META-INF/servicesde recursos , se toma el primer nombre de clase especificado en ese archivo. Si se proporciona más de un archivo jar, se usará el primero encontrado. Se carga y se crea una instancia de la clase ; si se produce un error en este proceso, se produce un error no especificado.

</Li>

<Li>

Por último, si no se proporciona la propiedad del sistema mencionada anteriormente ni un archivo jar de extensión, se carga y se crea una instancia de la implementación predeterminada PreferencesFactory de todo el sistema para la plataforma subyacente.

</Li>

</Ol>

Se agregó en la versión 1.4.

Documentación de Java para java.util.prefs.Preferences.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código Project y que se usan según los términos Creative Commons 2.5 Attribution License.

Constructores

Preferences()

Constructor único.

Preferences(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución.

Campos

MaxKeyLength

Longitud máxima de cadena permitida como clave (80 caracteres).

MaxNameLength

Longitud máxima de un nombre de nodo (80 caracteres).

MaxValueLength

Longitud máxima de cadena permitida como valor (8192 caracteres).

Propiedades

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
IsUserNode

Devuelve si se trata de un nodo de preferencia de usuario.

JniIdentityHashCode

Un nodo de una colección jerárquica de datos de preferencias.

(Heredado de Object)
JniPeerMembers

Un nodo de una colección jerárquica de datos de preferencias.

PeerReference

Un nodo de una colección jerárquica de datos de preferencias.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

Métodos

AbsolutePath()

Devuelve el nombre de ruta de acceso absoluta del nodo de preferencia.

AddNodeChangeListener(INodeChangeListener)

Registra el agente de escucha especificado para recibir eventos de cambio de nodo para este nodo.

AddPreferenceChangeListener(IPreferenceChangeListener)

Registra el agente de escucha especificado para recibir eventos de cambio de preferencia para este nodo de preferencia.

ChildrenNames()

Devuelve los nombres de los elementos secundarios de este nodo de preferencia, en relación con este nodo.

Clear()

Quita todas las preferencias (asociaciones clave-valor) de este nodo de preferencia.

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Dispose()

Un nodo de una colección jerárquica de datos de preferencias.

(Heredado de Object)
Dispose(Boolean)

Un nodo de una colección jerárquica de datos de preferencias.

(Heredado de Object)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
ExportNode(Stream)

Emite en el flujo de salida especificado un documento XML que representa todas las preferencias contenidas en este nodo (pero no sus descendientes).

ExportNodeAsync(Stream)

Un nodo de una colección jerárquica de datos de preferencias.

ExportSubtree(Stream)

Emite un documento XML que representa todas las preferencias contenidas en este nodo y todos sus descendientes.

ExportSubtreeAsync(Stream)

Un nodo de una colección jerárquica de datos de preferencias.

Flush()

Fuerza los cambios en el contenido de este nodo de preferencia y sus descendientes al almacén persistente.

FlushAsync()

Un nodo de una colección jerárquica de datos de preferencias.

Get(String, String)

Devuelve el valor asociado a la clave especificada en este nodo de preferencia.

GetBoolean(String, Boolean)

Devuelve el valor booleano representado por la cadena asociada a la clave especificada en este nodo de preferencia.

GetByteArray(String, Byte[])

Devuelve el valor de matriz de bytes representado por la cadena asociada a la clave especificada en este nodo de preferencia.

GetDouble(String, Double)

Devuelve el valor doble representado por la cadena asociada a la clave especificada en este nodo de preferencia.

GetFloat(String, Single)

Devuelve el valor float representado por la cadena asociada a la clave especificada en este nodo de preferencia.

GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
GetInt(String, Int32)

Devuelve el valor int representado por la cadena asociada a la clave especificada en este nodo de preferencia.

GetLong(String, Int64)

Devuelve el valor long representado por la cadena asociada a la clave especificada en este nodo de preferencia.

ImportPreferences(Stream)

Importa todas las preferencias representadas por el documento XML en el flujo de entrada especificado.

ImportPreferencesAsync(Stream)

Un nodo de una colección jerárquica de datos de preferencias.

JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Keys()

Devuelve todas las claves que tienen un valor asociado en este nodo de preferencia.

Name()

Devuelve el nombre del nodo de preferencia, en relación con su elemento primario.

Node(String)

Devuelve el nodo de preferencia con nombre en el mismo árbol que este nodo, lo que lo crea y cualquiera de sus antecesores si aún no existen.

NodeExists(String)

Devuelve true si el nodo de preferencia con nombre existe en el mismo árbol que este nodo.

Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
Parent()

Devuelve el elemento primario de este nodo de preferencia o null si se trata de la raíz.

Put(String, String)

Asocia el valor especificado a la clave especificada en este nodo de preferencia.

PutBoolean(String, Boolean)

Asocia una cadena que representa el valor booleano especificado con la clave especificada en este nodo de preferencia.

PutByteArray(String, Byte[])

Asocia una cadena que representa la matriz de bytes especificada con la clave especificada en este nodo de preferencia.

PutDouble(String, Double)

Asocia una cadena que representa el valor doble especificado con la clave especificada en este nodo de preferencia.

PutFloat(String, Single)

Asocia una cadena que representa el valor float especificado con la clave especificada en este nodo de preferencia.

PutInt(String, Int32)

Asocia una cadena que representa el valor int especificado con la clave especificada en este nodo de preferencia.

PutLong(String, Int64)

Asocia una cadena que representa el valor largo especificado con la clave especificada en este nodo de preferencia.

Remove(String)

Quita el valor asociado a la clave especificada en este nodo de preferencia, si existe.

RemoveNode()

Quita este nodo de preferencia y todos sus descendientes, invalidando las preferencias contenidas en los nodos quitados.

RemoveNodeChangeListener(INodeChangeListener)

Quita el especificado NodeChangeListener, por lo que ya no recibe eventos de cambio.

RemovePreferenceChangeListener(IPreferenceChangeListener)

Quita el agente de escucha de cambio de preferencia especificado, por lo que ya no recibe eventos de cambio de preferencia.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
Sync()

Garantiza que las lecturas futuras de este nodo de preferencia y sus descendientes reflejen los cambios confirmados en el almacén persistente (desde cualquier máquina virtual) antes de la sync invocación.

SyncAsync()

Un nodo de una colección jerárquica de datos de preferencias.

SystemNodeForPackage(Class)

<strong>WARNING:</strong> En Android, los nodos de preferencias correspondientes a las preferencias "system" y "user" se almacenan en secciones del sistema de archivos que no son accesibles para las aplicaciones.

SystemRoot()

<strong>WARNING:</strong> En Android, los nodos de preferencias correspondientes a las preferencias "system" y "user" se almacenan en secciones del sistema de archivos que no son accesibles para las aplicaciones.

ToArray<T>()

Un nodo de una colección jerárquica de datos de preferencias.

(Heredado de Object)
ToString()

Devuelve una representación de cadena de este nodo de preferencias, como si se calculara mediante la expresión:(this.isUserNode() ? "User" : "System") + " Preference Node: " + this.absolutePath().

UnregisterFromRuntime()

Un nodo de una colección jerárquica de datos de preferencias.

(Heredado de Object)
UserNodeForPackage(Class)

<strong>WARNING:</strong> En Android, los nodos de preferencias correspondientes a las preferencias "system" y "user" se almacenan en secciones del sistema de archivos que no son accesibles para las aplicaciones.

UserRoot()

<strong>WARNING:</strong> En Android, los nodos de preferencias correspondientes a las preferencias "system" y "user" se almacenan en secciones del sistema de archivos que no son accesibles para las aplicaciones.

Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em> o <em>interrumpido</em>.<><

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

Un nodo de una colección jerárquica de datos de preferencias.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Un nodo de una colección jerárquica de datos de preferencias.

(Heredado de Object)
IJavaPeerable.Finalized()

Un nodo de una colección jerárquica de datos de preferencias.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Un nodo de una colección jerárquica de datos de preferencias.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un nodo de una colección jerárquica de datos de preferencias.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un nodo de una colección jerárquica de datos de preferencias.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un nodo de una colección jerárquica de datos de preferencias.

(Heredado de Object)

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Un nodo de una colección jerárquica de datos de preferencias.

GetJniTypeName(IJavaPeerable)

Un nodo de una colección jerárquica de datos de preferencias.

Se aplica a