Preferences Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Um nó em uma coleção hierárquica de dados de preferência.
[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
- Herança
- Derivado
- Atributos
Comentários
Um nó em uma coleção hierárquica de dados de preferência. Essa classe permite que os aplicativos armazenem e recuperem dados de preferência e configuração do usuário e do sistema. Esses dados são armazenados persistentemente em um repositório de backup dependente de implementação. As implementações típicas incluem arquivos simples, registros específicos do sistema operacional, servidores de diretório e bancos de dados SQL. O usuário dessa classe não precisa se preocupar com os detalhes do repositório de backup.
Há duas árvores separadas de nós de preferência, uma para preferências do usuário e outra para preferências do sistema. Cada usuário tem uma árvore de preferência de usuário separada e todos os usuários em um determinado sistema compartilham a mesma árvore de preferência do sistema. A descrição precisa de "usuário" e "sistema" variará de implementação para implementação. As informações típicas armazenadas na árvore de preferência do usuário podem incluir a opção de fonte, a opção de cor ou o local e o tamanho da janela preferenciais para um aplicativo específico. Informações típicas armazenadas na árvore de preferência do sistema podem incluir dados de configuração de instalação para um aplicativo.
Nós em uma árvore de preferência são nomeados de maneira semelhante aos diretórios em um sistema de arquivos hierárquico. Cada nó em uma árvore de preferência tem um nome de nó (que não é necessariamente exclusivo), um nome de caminho absoluto exclusivo e um nome de caminho relativo a cada ancestral, incluindo a si mesmo.
O nó raiz tem um nome de nó da cadeia de caracteres vazia (""). Cada outro nó tem um nome de nó arbitrário, especificado no momento em que é criado. As únicas restrições nesse nome são que ele não pode ser a cadeia de caracteres vazia e não pode conter o caractere de barra ('/').
O nó raiz tem um nome de caminho absoluto de "/". Os filhos do nó raiz têm nomes de caminho absolutos de
O nome do caminho de um nó n em relação ao seu ancestral é simplesmente a cadeia de caracteres que deve ser acrescentada ao nome do caminho absoluto de um para formar o nome do caminho absoluto de n, com o caractere de barra inicial (se presente) removido. Observe que: <ul><li>Nenhum nome de caminho relativo começa com o caractere de barra. <li>O nome do caminho de cada nó em relação a si mesmo é a cadeia de caracteres vazia. <li>O nome do caminho de cada nó em relação ao pai é o nome do nó (exceto o nó raiz, que não tem um pai). <li>O nome do caminho de cada nó em relação à raiz é seu nome de caminho absoluto com o caractere de barra inicial removido. </ul>
Observe por fim que: <ul><li>Nenhum nome de caminho contém vários caracteres de barra consecutivos. <li>Nenhum nome de caminho com exceção do nome do caminho absoluto da raiz termina no caractere de barra. <li>Qualquer cadeia de caracteres que esteja em conformidade com essas duas regras é um nome de caminho válido. </ul>
Todos os métodos que modificam dados de preferências têm permissão para operar de forma assíncrona; eles podem retornar imediatamente, e as alterações eventualmente serão propagadas para o repositório de backup persistente com um atraso dependente da implementação. O flush método pode ser usado para forçar atualizações de forma síncrona para o repositório de backup. O término normal do Java Máquina Virtual não resultará na perda de atualizações pendentes. Uma invocação explícita flushnão é necessária após a terminação para garantir que as atualizações pendentes sejam persistentes.
Todos os métodos que leem preferências de um Preferences objeto exigem que o invocador forneça um valor padrão. O valor padrão será retornado se nenhum valor tiver sido definido anteriormente ou se o repositório de backup não estiver disponível. A intenção é permitir que os aplicativos operem, embora com funcionalidade ligeiramente degradada, mesmo que o repositório de backup fique indisponível. Vários métodos, como flush, têm semântica que os impedem de operar se o repositório de backup não estiver disponível. Os aplicativos comuns não devem ter necessidade de invocar nenhum desses métodos, o que pode ser identificado pelo fato de que eles são declarados para gerar BackingStoreException.
Os métodos nessa classe podem ser invocados simultaneamente por vários threads em uma única JVM sem a necessidade de sincronização externa e os resultados serão equivalentes a alguma execução serial. Se essa classe for usada simultaneamente por várias JVMs que armazenam seus dados de preferência no mesmo repositório de backup, o armazenamento de dados não será corrompido, mas nenhuma outra garantia será feita quanto à consistência dos dados de preferência.
Essa classe contém uma instalação de exportação/importação, permitindo que as preferências sejam "exportadas" para um documento XML e documentos XML que representam as preferências a serem "importadas" de volta para o sistema. Essa instalação pode ser usada para fazer backup de toda ou parte de uma árvore de preferência e, posteriormente, restaurar do backup.
O documento XML tem a seguinte declaração DOCTYPE:
{@code
<!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd">
}
Observe que o URI do sistema (http://java.sun.com/dtd/preferences.dtd)não é acessado ao exportar ou importar preferências; ele apenas serve como uma cadeia de caracteres para identificar exclusivamente o DTD, que é:
{@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 implementação deve ter uma implementação associada PreferencesFactory . Cada implementação de SE Java(TM) deve fornecer alguns meios de especificar qual PreferencesFactory implementação é usada para gerar os nós de preferências raiz. Isso permite que o administrador substitua a implementação de preferências padrão por uma implementação alternativa.
Observação de implementação: no JRE do Sun, a PreferencesFactory implementação está localizada da seguinte maneira:
<ol>
<li>
Se a propriedade java.util.prefs.PreferencesFactory do sistema for definida, será necessário ser o nome totalmente qualificado de uma classe que implementa a PreferencesFactory interface. A classe é carregada e instanciada; se esse processo falhar, um erro não especificado será gerado.
</li>
<li>
Se um PreferencesFactory arquivo de classe de implementação tiver sido instalado em um arquivo jar visível para o java.lang.ClassLoader#getSystemClassLoader system class loaderarquivo jar e esse arquivo jar contiver um arquivo de configuração de provedor nomeado java.util.prefs.PreferencesFactory no diretório META-INF/servicesde recursos, o nome da primeira classe especificado nesse arquivo será obtido. Se mais de um arquivo jar for fornecido, o primeiro encontrado será usado. A classe é carregada e instanciada; se esse processo falhar, um erro não especificado será gerado.
</li>
<li>
Por fim, se nem a propriedade do sistema mencionada acima nem um arquivo jar de extensão forem fornecidos, a implementação padrão PreferencesFactory em todo o sistema para a plataforma subjacente será carregada e instanciada.
</li>
</ol>
Adicionado em 1.4.
Java documentação para java.util.prefs.Preferences.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| Preferences() |
Único construtor. |
| Preferences(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime. |
Campos
| Nome | Description |
|---|---|
| MaxKeyLength |
Comprimento máximo da cadeia de caracteres permitida como uma chave (80 caracteres). |
| MaxNameLength |
Comprimento máximo de um nome de nó (80 caracteres). |
| MaxValueLength |
Comprimento máximo da cadeia de caracteres permitida como um valor (8.192 caracteres). |
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de tempo de execução deste |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| IsUserNode |
Retorna se este é um nó de preferência do usuário. |
| JniIdentityHashCode |
Um nó em uma coleção hierárquica de dados de preferência. (Herdado de Object) |
| JniPeerMembers |
Um nó em uma coleção hierárquica de dados de preferência. |
| PeerReference |
Um nó em uma coleção hierárquica de dados de preferência. (Herdado de Object) |
| ThresholdClass |
Essa API é compatível com a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
| ThresholdType |
Essa API é compatível com a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
Métodos
| Nome | Description |
|---|---|
| AbsolutePath() |
Retorna o nome do caminho absoluto desse nó de preferência. |
| AddNodeChangeListener(INodeChangeListener) |
Registra o ouvinte especificado para receber eventos de alteração de nó para esse nó. |
| AddPreferenceChangeListener(IPreferenceChangeListener) |
Registra o ouvinte especificado para receber eventos de alteração de preferência para esse nó de preferência. |
| ChildrenNames() |
Retorna os nomes dos filhos desse nó de preferência em relação a esse nó. |
| Clear() |
Remove todas as preferências (associações chave-valor) nesse nó de preferência. |
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| Dispose() |
Um nó em uma coleção hierárquica de dados de preferência. (Herdado de Object) |
| Dispose(Boolean) |
Um nó em uma coleção hierárquica de dados de preferência. (Herdado de Object) |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| ExportNode(Stream) |
Emite no fluxo de saída especificado um documento XML que representa todas as preferências contidas neste nó (mas não seus descendentes). |
| ExportNodeAsync(Stream) |
Um nó em uma coleção hierárquica de dados de preferência. |
| ExportSubtree(Stream) |
Emite um documento XML que representa todas as preferências contidas neste nó e todos os seus descendentes. |
| ExportSubtreeAsync(Stream) |
Um nó em uma coleção hierárquica de dados de preferência. |
| Flush() |
Força quaisquer alterações no conteúdo desse nó de preferência e seus descendentes para o repositório persistente. |
| FlushAsync() |
Um nó em uma coleção hierárquica de dados de preferência. |
| Get(String, String) |
Retorna o valor associado à chave especificada neste nó de preferência. |
| GetBoolean(String, Boolean) |
Retorna o valor booliano representado pela cadeia de caracteres associada à chave especificada neste nó de preferência. |
| GetByteArray(String, Byte[]) |
Retorna o valor da matriz de bytes representado pela cadeia de caracteres associada à chave especificada neste nó de preferência. |
| GetDouble(String, Double) |
Retorna o valor duplo representado pela cadeia de caracteres associada à chave especificada neste nó de preferência. |
| GetFloat(String, Single) |
Retorna o valor float representado pela cadeia de caracteres associada à chave especificada neste nó de preferência. |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| GetInt(String, Int32) |
Retorna o valor int representado pela cadeia de caracteres associada à chave especificada neste nó de preferência. |
| GetLong(String, Int64) |
Retorna o valor longo representado pela cadeia de caracteres associada à chave especificada neste nó de preferência. |
| ImportPreferences(Stream) |
Importa todas as preferências representadas pelo documento XML no fluxo de entrada especificado. |
| ImportPreferencesAsync(Stream) |
Um nó em uma coleção hierárquica de dados de preferência. |
| JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| Keys() |
Retorna todas as chaves que têm um valor associado nesse nó de preferência. |
| Name() |
Retorna o nome desse nó de preferência em relação ao pai. |
| Node(String) |
Retorna o nó de preferência nomeado na mesma árvore que este nó, criando-o e qualquer um de seus ancestrais se eles ainda não existirem. |
| NodeExists(String) |
Retornará true se o nó de preferência nomeado existir na mesma árvore que este nó. |
| Notify() |
Ativa um único thread que está aguardando no monitor desse objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| Parent() |
Retorna o pai desse nó de preferência ou |
| Put(String, String) |
Associa o valor especificado à chave especificada neste nó de preferência. |
| PutBoolean(String, Boolean) |
Associa uma cadeia de caracteres que representa o valor booliano especificado à chave especificada neste nó de preferência. |
| PutByteArray(String, Byte[]) |
Associa uma cadeia de caracteres que representa a matriz de bytes especificada à chave especificada neste nó de preferência. |
| PutDouble(String, Double) |
Associa uma cadeia de caracteres que representa o valor duplo especificado à chave especificada neste nó de preferência. |
| PutFloat(String, Single) |
Associa uma cadeia de caracteres que representa o valor flutuante especificado à chave especificada neste nó de preferência. |
| PutInt(String, Int32) |
Associa uma cadeia de caracteres que representa o valor de int especificado à chave especificada neste nó de preferência. |
| PutLong(String, Int64) |
Associa uma cadeia de caracteres que representa o valor longo especificado à chave especificada neste nó de preferência. |
| Remove(String) |
Remove o valor associado à chave especificada neste nó de preferência, se houver. |
| RemoveNode() |
Remove esse nó de preferência e todos os seus descendentes, invalidando todas as preferências contidas nos nós removidos. |
| RemoveNodeChangeListener(INodeChangeListener) |
Remove o especificado |
| RemovePreferenceChangeListener(IPreferenceChangeListener) |
Remove o ouvinte de alteração de preferência especificado, portanto, ele não recebe mais eventos de alteração de preferência. |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| Sync() |
Garante que as leituras futuras desse nó de preferência e seus descendentes reflitam as alterações que foram confirmadas no repositório persistente (de qualquer VM) antes da |
| SyncAsync() |
Um nó em uma coleção hierárquica de dados de preferência. |
| SystemNodeForPackage(Class) |
<aviso forte>:</forte> no Android, os nós de preferência correspondentes às preferências "sistema" e "usuário" são armazenados em seções do sistema de arquivos que estão inacessíveis aos aplicativos. |
| SystemRoot() |
<aviso forte>:</forte> no Android, os nós de preferência correspondentes às preferências "sistema" e "usuário" são armazenados em seções do sistema de arquivos que estão inacessíveis aos aplicativos. |
| ToArray<T>() |
Um nó em uma coleção hierárquica de dados de preferência. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres desse nó de preferências, como se fosse computada pela expressão: |
| UnregisterFromRuntime() |
Um nó em uma coleção hierárquica de dados de preferência. (Herdado de Object) |
| UserNodeForPackage(Class) |
<aviso forte>:</forte> no Android, os nós de preferência correspondentes às preferências "sistema" e "usuário" são armazenados em seções do sistema de arquivos que estão inacessíveis aos aplicativos. |
| UserRoot() |
<aviso forte>:</forte> no Android, os nós de preferência correspondentes às preferências "sistema" e "usuário" são armazenados em seções do sistema de arquivos que estão inacessíveis aos aplicativos. |
| Wait() |
Faz com que o thread atual aguarde até que seja despertado, normalmente sendo <notificado></em> ou <em>interrompido</em>. (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
Um nó em uma coleção hierárquica de dados de preferência. (Herdado de Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Um nó em uma coleção hierárquica de dados de preferência. (Herdado de Object) |
| IJavaPeerable.Finalized() |
Um nó em uma coleção hierárquica de dados de preferência. (Herdado de Object) |
| IJavaPeerable.JniManagedPeerState |
Um nó em uma coleção hierárquica de dados de preferência. (Herdado de Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Um nó em uma coleção hierárquica de dados de preferência. (Herdado de Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Um nó em uma coleção hierárquica de dados de preferência. (Herdado de Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Um nó em uma coleção hierárquica de dados de preferência. (Herdado de Object) |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo verificada pelo tempo de execução do Android. |
| JavaCast<TResult>(IJavaObject) |
Um nó em uma coleção hierárquica de dados de preferência. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |