Preferences クラス

定義

ユーザー設定データの階層コレクション内のノード。

[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
継承
Preferences
派生
属性

注釈

ユーザー設定データの階層コレクション内のノード。 このクラスを使用すると、アプリケーションはユーザーとシステムの基本設定と構成データを格納および取得できます。 このデータは、実装に依存するバッキング ストアに永続的に格納されます。 一般的な実装には、フラット ファイル、OS 固有のレジストリ、ディレクトリ サーバー、SQL データベースが含まれます。 このクラスのユーザーは、バッキング ストアの詳細に関係する必要はありません。

ユーザー設定用とシステム環境設定用の 2 つの個別の基本設定ノードツリーがあります。 各ユーザーには個別のユーザー設定ツリーがあり、特定のシステム内のすべてのユーザーが同じシステム設定ツリーを共有します。 "user" と "system" の正確な説明は、実装によって異なります。 ユーザー設定ツリーに格納される一般的な情報には、フォントの選択、色の選択、または特定のアプリケーションの優先ウィンドウの場所とサイズが含まれます。 システム設定ツリーに格納される一般的な情報には、アプリケーションのインストール構成データが含まれる場合があります。

ユーザー設定ツリー内のノードには、階層ファイル システム内のディレクトリと同様の方法で名前が付けられます。 基本設定ツリー内のすべてのノードには、 ノード名 (必ずしも一意ではない)、一意の 絶対パス名、および各先祖に 対する相対 パス名 (それ自体を含む) があります。

ルート ノードには、空の文字列 ("") のノード名があります。 他のすべてのノードには、作成時に指定された任意のノード名があります。 この名前に関する唯一の制限は、空の文字列にすることはできません。また、スラッシュ文字 ('/') を含めることはできません。

ルート ノードの絶対パス名 "/"は です。 ルート ノードの子には、< の"/" + 絶対パス名があります。ノード名>。 その他のすべてのノードには、絶対パス名 < があります。親の絶対パス名> + "/" + <ノード名>. 絶対パス名はすべてスラッシュ文字で始まる点に注意してください。

ノードn の先祖に対する相対パス名は、n の絶対パス名を形成するために、最初のスラッシュ文字 (存在する場合) を削除して、 の絶対パス名に追加する必要がある単なる文字列です。 注: <ul><li>スラッシュ文字で始まる相対パス名はありません。 <li>ノード自体に対する相対パス名はすべて空の文字列です。 <li>親に対するすべてのノードのパス名は、そのノード名です (親を持たないルート ノードを除く)。 <li>ルートに対するすべてのノードのパス名は、最初のスラッシュ文字が削除された絶対パス名です。 </ul>

最後に、ul><li>パス名に複数の連続するスラッシュ文字が含まれないことに<注意してください。 <li>ルートの絶対パス名を除き、パス名はスラッシュ文字で終わります。 <li>これら 2 つの規則に準拠する文字列は、有効なパス名です。 </ul>

基本設定データを変更するすべてのメソッドは、非同期的に動作することが許可されています。すぐに戻る可能性があり、変更は最終的に永続的なバッキング ストアに反映され、実装に依存する遅延が発生します。 メソッドは flush 、バッキング ストアへの更新を同期的に強制するために使用できます。 Java 仮想マシンを正常に終了しても、保留中の更新が失 われるわけではありません 。保留中の更新が永続的になるように、終了時に明示的な flush 呼び出しは必要 ありません

オブジェクトから Preferences 基本設定を読み取るすべてのメソッドでは、呼び出し元が既定値を指定する必要があります。 以前に値が設定されていない場合 、またはバッキング ストアが使用できない場合は、既定値が返されます。 この目的は、バッキング ストアが使用できなくなった場合でも、機能が若干低下しているにもかかわらず、アプリケーションの動作を許可することです。 のような flushいくつかのメソッドには、バッキング ストアが使用できない場合に動作を妨げるセマンティクスがあります。 通常のアプリケーションでは、これらのメソッドを呼び出す必要はありません。これは、 をスロー BackingStoreExceptionするように宣言されているという事実によって識別できます。

このクラスのメソッドは、外部同期を必要とせずに、1 つの JVM 内の複数のスレッドによって同時に呼び出される場合があり、結果はいくつかのシリアル実行と同等になります。 このクラスが、同じバッキング ストアにユーザー設定データを格納する 複数の JVM によって 同時に使用される場合、データ ストアは破損しませんが、基本設定データの整合性に関する他の保証は行われません。

このクラスにはエクスポート/インポート機能が含まれており、ユーザー設定を XML ドキュメントに "エクスポート" し、ユーザー設定を表す XML ドキュメントをシステムに "インポート" することができます。 この機能は、基本設定ツリーのすべてまたは一部をバックアップし、その後バックアップから復元するために使用できます。

XML ドキュメントには、次の DOCTYPE 宣言があります。

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

システム URI (http://java.sun.com/dtd/preferences.dtd) は、基本設定をエクスポートまたはインポートするときにアクセス されないこと に注意してください。DTD を一意に識別するための文字列として機能するだけです。これは次のとおりです。

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

すべての Preferences 実装には、関連付けられた PreferencesFactory 実装が必要です。 すべての Java(TM) SE 実装では、ルート設定ノードの生成に使用される PreferencesFactory 実装を指定する何らかの手段を提供する必要があります。 これにより、管理者は既定の基本設定の実装を別の実装に置き換えることができます。

実装注: Sun の JRE では、 PreferencesFactory 実装は次のように配置されます。

<Ol>

<李>

システム プロパティ java.util.prefs.PreferencesFactory が定義されている場合は、 インターフェイスを実装する PreferencesFactory クラスの完全修飾名と見なされます。 クラスが読み込まれ、インスタンス化されます。このプロセスが失敗した場合は、指定されていないエラーがスローされます。

</李>

<李>

PreferencesFactoryに表示java.lang.ClassLoader#getSystemClassLoader system class loaderされる jar ファイルに実装クラス ファイルがインストールされていて、その jar ファイルに リソース ディレクトリ META-INF/servicesに という名前java.util.prefs.PreferencesFactoryのプロバイダー構成ファイルが含まれている場合、そのファイルで指定された最初のクラス名が取得されます。 このような jar ファイルが複数指定されている場合は、最初に見つかった jar ファイルが使用されます。 クラスが読み込まれ、インスタンス化されます。このプロセスが失敗した場合は、指定されていないエラーがスローされます。

</李>

<李>

最後に、上記のシステム プロパティも拡張 jar ファイルも指定されていない場合は、基になるプラットフォームのシステム全体の既定 PreferencesFactory の実装が読み込まれ、インスタンス化されます。

</李>

</Ol>

1.4 で追加されました。

の Java ドキュメント java.util.prefs.Preferences

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

Preferences()

唯一のコンストラクター。

Preferences(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

フィールド

MaxKeyLength

キーとして使用できる文字列の最大長 (80 文字)。

MaxNameLength

ノード名の最大長 (80 文字)。

MaxValueLength

値として使用できる文字列の最大長 (8192 文字)。

プロパティ

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsUserNode

これがユーザー設定ノードかどうかを返します。

JniIdentityHashCode

ユーザー設定データの階層コレクション内のノード。

(継承元 Object)
JniPeerMembers

ユーザー設定データの階層コレクション内のノード。

PeerReference

ユーザー設定データの階層コレクション内のノード。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。

メソッド

AbsolutePath()

この基本設定ノードの絶対パス名を返します。

AddNodeChangeListener(INodeChangeListener)

指定したリスナーを登録して、この ノードのノード変更イベント を受信します。

AddPreferenceChangeListener(IPreferenceChangeListener)

指定したリスナーを登録して、この基本設定ノードの 基本設定変更イベント を受信します。

ChildrenNames()

このノードを基準にして、この基本設定ノードの子の名前を返します。

Clear()

この基本設定ノードのすべての基本設定 (キーと値の関連付け) を削除します。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Dispose()

ユーザー設定データの階層コレクション内のノード。

(継承元 Object)
Dispose(Boolean)

ユーザー設定データの階層コレクション内のノード。

(継承元 Object)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
ExportNode(Stream)

指定した出力ストリームに対して、このノードに含まれるすべての基本設定を表す XML ドキュメントを出力します (ただし、その子孫は表しません)。

ExportNodeAsync(Stream)

ユーザー設定データの階層コレクション内のノード。

ExportSubtree(Stream)

このノードとそのすべての子孫に含まれるすべての基本設定を表す XML ドキュメントを出力します。

ExportSubtreeAsync(Stream)

ユーザー設定データの階層コレクション内のノード。

Flush()

この設定ノードとその子孫の内容に変更を加えた場合は、永続ストアに強制的に移動します。

FlushAsync()

ユーザー設定データの階層コレクション内のノード。

Get(String, String)

この基本設定ノードの指定したキーに関連付けられている値を返します。

GetBoolean(String, Boolean)

この基本設定ノードの指定したキーに関連付けられている文字列で表されるブール値を返します。

GetByteArray(String, Byte[])

この基本設定ノードの指定したキーに関連付けられている文字列で表されるバイト配列値を返します。

GetDouble(String, Double)

この基本設定ノードの指定したキーに関連付けられている文字列で表される double 値を返します。

GetFloat(String, Single)

この基本設定ノードの指定したキーに関連付けられている文字列で表される float 値を返します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetInt(String, Int32)

この基本設定ノードの指定したキーに関連付けられている文字列で表される int 値を返します。

GetLong(String, Int64)

この基本設定ノードの指定したキーに関連付けられている文字列で表される長い値を返します。

ImportPreferences(Stream)

指定した入力ストリームで XML ドキュメントによって表されるすべての基本設定をインポートします。

ImportPreferencesAsync(Stream)

ユーザー設定データの階層コレクション内のノード。

JavaFinalize()

ガベージ コレクションがオブジェクトへの参照がなくなったと判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Keys()

この基本設定ノードに関連付けられた値を持つすべてのキーを返します。

Name()

親を基準にして、この基本設定ノードの名前を返します。

Node(String)

このノードと同じツリー内の名前付き基本設定ノードを返し、まだ存在しない場合は、そのノードとその先祖を作成します。

NodeExists(String)

名前付き基本設定ノードがこのノードと同じツリーに存在する場合は true を返します。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドをウェイクアップします。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドをウェイクアップします。

(継承元 Object)
Parent()

この基本設定ノードの親を返します null 。これがルートの場合は を返します。

Put(String, String)

指定した値を、この基本設定ノードの指定したキーに関連付けます。

PutBoolean(String, Boolean)

指定したブール値を表す文字列を、この基本設定ノードの指定したキーに関連付けます。

PutByteArray(String, Byte[])

指定したバイト配列を表す文字列を、この基本設定ノードの指定したキーに関連付けます。

PutDouble(String, Double)

指定した double 値を表す文字列を、この基本設定ノードの指定したキーに関連付けます。

PutFloat(String, Single)

指定した float 値を表す文字列を、この基本設定ノードの指定したキーに関連付けます。

PutInt(String, Int32)

指定した int 値を表す文字列を、この基本設定ノードの指定したキーに関連付けます。

PutLong(String, Int64)

指定した長い値を表す文字列を、この基本設定ノードの指定したキーに関連付けます。

Remove(String)

この基本設定ノード内の指定したキーに関連付けられている値 (存在する場合) を削除します。

RemoveNode()

この基本設定ノードとそのすべての子孫を削除し、削除されたノードに含まれるすべての基本設定を無効にします。

RemoveNodeChangeListener(INodeChangeListener)

指定した NodeChangeListenerを削除して、変更イベントを受信しなくなります。

RemovePreferenceChangeListener(IPreferenceChangeListener)

指定した基本設定変更リスナーを削除して、基本設定変更イベントを受信しなくなります。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
Sync()

この優先ノードとその子孫からの将来の読み取りには、呼び出しの前に永続ストア (任意の VM から) にコミットされた変更が sync 確実に反映されます。

SyncAsync()

ユーザー設定データの階層コレクション内のノード。

SystemNodeForPackage(Class)

<<> android では、">システム" と "ユーザー" の基本設定に対応する基本設定ノードが、アプリにアクセスできないファイル システムのセクションに格納されます。

SystemRoot()

<<> android では、">システム" と "ユーザー" の基本設定に対応する基本設定ノードが、アプリにアクセスできないファイル システムのセクションに格納されます。

ToArray<T>()

ユーザー設定データの階層コレクション内のノード。

(継承元 Object)
ToString()

(this.isUserNode() ? "User" : "System") + " Preference Node: " + this.absolutePath()によって計算される場合と同様に、この基本設定ノードの文字列表現を返します。

UnregisterFromRuntime()

ユーザー設定データの階層コレクション内のノード。

(継承元 Object)
UserNodeForPackage(Class)

<<> android では、">システム" と "ユーザー" の基本設定に対応する基本設定ノードが、アプリにアクセスできないファイル システムのセクションに格納されます。

UserRoot()

<<> android では、">システム" と "ユーザー" の基本設定に対応する基本設定ノードが、アプリにアクセスできないファイル システムのセクションに格納されます。

Wait()

現在のスレッドが起動するまで待機します。通常<>は、通知</em> または <em>割り込み</em によって待機します>。

(継承元 Object)
Wait(Int64)

現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

IJavaPeerable.Disposed()

ユーザー設定データの階層コレクション内のノード。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

ユーザー設定データの階層コレクション内のノード。

(継承元 Object)
IJavaPeerable.Finalized()

ユーザー設定データの階層コレクション内のノード。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

ユーザー設定データの階層コレクション内のノード。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

ユーザー設定データの階層コレクション内のノード。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

ユーザー設定データの階層コレクション内のノード。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

ユーザー設定データの階層コレクション内のノード。

(継承元 Object)

拡張メソッド

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

ユーザー設定データの階層コレクション内のノード。

GetJniTypeName(IJavaPeerable)

ユーザー設定データの階層コレクション内のノード。

適用対象