Preferences 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
기본 설정 데이터의 계층적 컬렉션에 있는 노드입니다.
[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
- 상속
- 파생
- 특성
설명
기본 설정 데이터의 계층적 컬렉션에 있는 노드입니다. 이 클래스를 사용하면 애플리케이션에서 사용자 및 시스템 기본 설정 및 구성 데이터를 저장하고 검색할 수 있습니다. 이 데이터는 구현 종속 백업 저장소에 영구적으로 저장됩니다. 일반적인 구현에는 플랫 파일, OS 관련 레지스트리, 디렉터리 서버 및 SQL 데이터베이스가 포함됩니다. 이 클래스의 사용자는 지원 저장소의 세부 정보를 신경 쓰지 않아도 됩니다.
두 개의 별도 기본 설정 노드 트리가 있습니다. 하나는 사용자 기본 설정용이고 다른 하나는 시스템 기본 설정입니다. 각 사용자에게는 별도의 사용자 기본 설정 트리가 있으며 지정된 시스템의 모든 사용자는 동일한 시스템 기본 설정 트리를 공유합니다. "사용자" 및 "시스템"에 대한 정확한 설명은 구현마다 다릅니다. 사용자 기본 설정 트리에 저장된 일반적인 정보에는 글꼴 선택, 색 선택 또는 특정 애플리케이션의 기본 창 위치 및 크기가 포함될 수 있습니다. 시스템 기본 설정 트리에 저장된 일반적인 정보에는 애플리케이션에 대한 설치 구성 데이터가 포함될 수 있습니다.
기본 설정 트리의 노드 이름은 계층적 파일 시스템의 디렉터리와 비슷한 방식으로 명명됩니다. 기본 설정 트리의 모든 노드에는 노드 이름 (반드시 고유하지는 않음), 고유한 절대 경로 이름 및 자신을 포함한 각 상위 항목에 상대적인 경로 이름이 있습니다.
루트 노드에는 빈 문자열("")의 노드 이름이 있습니다. 다른 모든 노드에는 임의 노드 이름이 있으며, 노드가 생성될 때 지정됩니다. 이 이름에 대한 유일한 제한 사항은 빈 문자열일 수 없고 슬래시 문자('/')를 포함할 수 없다는 것입니다.
루트 노드의 절대 경로 이름은 입니다 "/"
. 루트 노드의 자식에는<의 "/" +
절대 경로 이름이 있습니다. 노드 이름>. 다른 모든 노드에는<의 절대 경로 이름이 있습니다 . 부모의 절대 경로 이름> + "/" +
< 노드 이름>. 모든 절대 경로 이름은 슬래시 문자로 시작합니다.
상위 항목에 상대적인 노드 n의 경로 이름은 단순히 n의 절대 경로 이름을 형성하기 위해 의 절대 경로 이름에 추가해야 하는 문자열이며 초기 슬래시 문자(있는 경우)가 제거됩니다. 참고: <ul><li>상대 경로 이름은 슬래시 문자로 시작합니다. <li>자체에 상대적인 모든 노드의 경로 이름은 빈 문자열입니다. <li>부모에 상대적인 모든 노드의 경로 이름은 노드 이름입니다(부모가 없는 루트 노드 제외). <li>루트를 기준으로 하는 모든 노드의 경로 이름은 초기 슬래시 문자가 제거된 절대 경로 이름입니다. </ul>
마지막으로 <ul><li>경로 이름에 여러 개의 연속 슬래시 문자가 포함되어 있지 않습니다. <li>루트의 절대 경로 이름을 제외한 경로 이름은 슬래시 문자로 끝납니다. <li>이 두 규칙을 준수하는 모든 문자열은 유효한 경로 이름입니다. </ul>
기본 설정 데이터를 수정하는 모든 메서드는 비동기적으로 작동하도록 허용됩니다. 즉시 반환될 수 있으며 변경 내용은 결국 구현 종속 지연으로 영구 백업 저장소로 전파됩니다. 메서드를 flush
사용하여 백업 저장소에 대한 업데이트를 동기적으로 강제 적용할 수 있습니다. Java Virtual Machine의 정상적인 종료로 인해 보류 중인 업데이트가 손실 되지 않습니다 . 종료 시 명시적 flush
호출이 필요하지 않으므로 보류 중인 업데이트가 영구적으로 수행되도록 합니다.
개체에서 기본 설정을 읽는 모든 메서드는 Preferences
호출자가 기본값을 제공해야 합니다. 이전에 설정된 값이 없거나 백업 저장소를 사용할 수 없는 경우 기본값이 반환됩니다. 지원 저장소를 사용할 수 없게 되더라도 기능이 약간 저하되더라도 애플리케이션이 작동할 수 있도록 하기 위한 것입니다. 와 같은 flush
여러 메서드에는 지원 저장소를 사용할 수 없는 경우 작동을 방지하는 의미 체계가 있습니다. 일반 애플리케이션은 이러한 메서드를 호출할 필요가 없습니다. 이 메서드는 을 throw BackingStoreException
하도록 선언되었다는 사실로 식별할 수 있습니다.
이 클래스의 메서드는 외부 동기화 없이 단일 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
클래스의 정규화된 이름으로 사용됩니다. 클래스가 로드되고 인스턴스화됩니다. 이 프로세스가 실패하면 지정되지 않은 오류가 throw됩니다.
</리튬>
<리튬>
PreferencesFactory
구현 클래스 파일이 에 표시되는 java.lang.ClassLoader#getSystemClassLoader system class loader
jar 파일에 설치되어 있고 해당 jar 파일에 리소스 디렉터리에 META-INF/services
라는 java.util.prefs.PreferencesFactory
공급자 구성 파일이 포함된 경우 해당 파일에 지정된 첫 번째 클래스 이름이 사용됩니다. 이러한 jar 파일이 둘 이상 제공되면 발견된 첫 번째 파일이 사용됩니다. 클래스가 로드되고 인스턴스화됩니다. 이 프로세스가 실패하면 지정되지 않은 오류가 throw됩니다.
</리튬>
<리튬>
마지막으로 위에서 언급한 시스템 속성이나 확장 jar 파일이 제공되지 않으면 기본 플랫폼에 대한 시스템 차원의 기본 PreferencesFactory
구현이 로드되고 인스턴스화됩니다.
</리튬>
</Ol>
1.4에 추가되었습니다.
에 대한 Java 설명서입니다 java.util.prefs.Preferences
.
이 페이지의 일부는 만들고 공유하며 에 설명된 조건에 따라 사용되는 작업을 기반으로 수정됩니다.
생성자
Preferences() |
단독 생성자입니다. |
Preferences(IntPtr, JniHandleOwnership) |
JNI 개체의 관리형 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다. |
필드
MaxKeyLength |
키로 허용되는 최대 문자열 길이(80자)입니다. |
MaxNameLength |
노드 이름의 최대 길이(80자)입니다. |
MaxValueLength |
값으로 허용되는 최대 문자열 길이(8192자)입니다. |
속성
Class |
이 |
Handle |
기본 Android instance 대한 핸들입니다. (다음에서 상속됨 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) |
이 기본 설정 노드에서 지정된 키와 연결된 문자열로 표시되는 long 값을 반환합니다. |
ImportPreferences(Stream) |
지정된 입력 스트림에서 XML 문서가 나타내는 모든 기본 설정을 가져옵니다. |
ImportPreferencesAsync(Stream) |
기본 설정 데이터의 계층적 컬렉션에 있는 노드입니다. |
JavaFinalize() |
가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다. (다음에서 상속됨 Object) |
Keys() |
이 기본 설정 노드에 연결된 값이 있는 모든 키를 반환합니다. |
Name() |
부모에 상대적인 이 기본 설정 노드의 이름을 반환합니다. |
Node(String) |
이 노드와 동일한 트리에 명명된 기본 설정 노드를 반환하여 해당 노드와 해당 상위 노드가 아직 없는 경우 만듭니다. |
NodeExists(String) |
명명된 기본 설정 노드가 이 노드와 동일한 트리에 있으면 true를 반환합니다. |
Notify() |
이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다. (다음에서 상속됨 Object) |
NotifyAll() |
이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다. (다음에서 상속됨 Object) |
Parent() |
이 기본 설정 노드의 부모 또는 |
Put(String, String) |
지정된 값을 이 기본 설정 노드의 지정된 키와 연결합니다. |
PutBoolean(String, Boolean) |
지정된 부울 값을 나타내는 문자열을 이 기본 설정 노드의 지정된 키와 연결합니다. |
PutByteArray(String, Byte[]) |
지정된 바이트 배열을 나타내는 문자열을 이 기본 설정 노드의 지정된 키와 연결합니다. |
PutDouble(String, Double) |
지정된 double 값을 나타내는 문자열을 이 기본 설정 노드의 지정된 키와 연결합니다. |
PutFloat(String, Single) |
지정된 float 값을 나타내는 문자열을 이 기본 설정 노드의 지정된 키와 연결합니다. |
PutInt(String, Int32) |
지정된 int 값을 나타내는 문자열을 이 기본 설정 노드의 지정된 키와 연결합니다. |
PutLong(String, Int64) |
지정된 long 값을 나타내는 문자열을 이 기본 설정 노드의 지정된 키와 연결합니다. |
Remove(String) |
이 기본 설정 노드에서 지정된 키와 연결된 값(있는 경우)을 제거합니다. |
RemoveNode() |
이 기본 설정 노드와 모든 하위 항목을 제거하여 제거된 노드에 포함된 모든 기본 설정을 무효화합니다. |
RemoveNodeChangeListener(INodeChangeListener) |
지정된 |
RemovePreferenceChangeListener(IPreferenceChangeListener) |
지정된 기본 설정 변경 수신기를 제거하므로 더 이상 기본 설정 변경 이벤트를 수신하지 않습니다. |
SetHandle(IntPtr, JniHandleOwnership) |
Handle 속성을 설정합니다. (다음에서 상속됨 Object) |
Sync() |
이 기본 설정 노드 및 해당 하위 항목에서 나중에 읽는 것은 호출 전에 영구 저장소(모든 VM에서)에 커밋된 모든 변경 내용을 반영하도록 |
SyncAsync() |
기본 설정 데이터의 계층적 컬렉션에 있는 노드입니다. |
SystemNodeForPackage(Class) |
<strong>WARNING:</strong> Android에서는 "시스템" 및 "사용자" 기본 설정에 해당하는 기본 설정 노드가 앱에 액세스할 수 없는 파일 시스템의 섹션에 저장됩니다. |
SystemRoot() |
<strong>WARNING:</strong> Android에서는 "시스템" 및 "사용자" 기본 설정에 해당하는 기본 설정 노드가 앱에 액세스할 수 없는 파일 시스템의 섹션에 저장됩니다. |
ToArray<T>() |
기본 설정 데이터의 계층적 컬렉션에 있는 노드입니다. (다음에서 상속됨 Object) |
ToString() |
식 |
UnregisterFromRuntime() |
기본 설정 데이터의 계층적 컬렉션에 있는 노드입니다. (다음에서 상속됨 Object) |
UserNodeForPackage(Class) |
<strong>WARNING:</strong> Android에서는 "시스템" 및 "사용자" 기본 설정에 해당하는 기본 설정 노드가 앱에 액세스할 수 없는 파일 시스템의 섹션에 저장됩니다. |
UserRoot() |
<strong>WARNING:</strong> Android에서는 "시스템" 및 "사용자" 기본 설정에 해당하는 기본 설정 노드가 앱에 액세스할 수 없는 파일 시스템의 섹션에 저장됩니다. |
Wait() |
현재 스레드가 깨어날 때까지 대기하게 합니다( 일반적으로 <알림을 받><거나 <>중단/>em>)합니다<. (다음에서 상속됨 Object) |
Wait(Int64) |
현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
Wait(Int64, Int32) |
현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 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) |
기본 설정 데이터의 계층적 컬렉션에 있는 노드입니다. |