Preferences Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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 loader
ese archivo jar contiene un archivo de configuración de proveedor denominado java.util.prefs.PreferencesFactory
en el directorio META-INF/services
de 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 |
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 |
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 |
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 |
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: |
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. |