Preferences
이 문서에서는 .NET 다중 플랫폼 앱 UI(.NET MAUI) IPreferences
인터페이스를 사용하는 방법을 설명합니다. 이 인터페이스는 키/값 저장소에 앱을 preferences 저장하는 데 도움이 됩니다.
인터페이스의 IPreferences
기본 구현은 속성을 통해 Preferences.Default
사용할 수 있습니다. IPreferences
인터페이스와 Preferences
클래스는 모두 네임스페이스에 Microsoft.Maui.Storage
포함됩니다.
저장소 유형
Preferences 는 키와 함께 String 저장됩니다. 기본 설정 값은 다음 데이터 형식 중 하나여야 합니다.
DateTime
값은 DateTime
클래스에서 정의된 두 가지 메서드를 사용하여 64 비트 이진(긴 정수) 형식으로 저장됩니다.
- 이
ToBinary
메서드는 값을 인코딩하는DateTime
데 사용됩니다. - 메서드는
FromBinary
값을 디코딩합니다.
UTC(협정 세계시) 값이 아닌 값이 저장될 때 DateTime
디코딩된 값에 대해 조정될 수 있는 조정은 이러한 메서드의 설명서를 참조하세요.
preferences 설정
Preferences 는 메서드를 Preferences.Set
호출하고 키와 값을 제공하여 설정합니다.
// Set a string value:
Preferences.Default.Set("first_name", "John");
// Set an numerical value:
Preferences.Default.Set("age", 28);
// Set a boolean value:
Preferences.Default.Set("has_pets", true);
Get preferences
값을 preferences 검색하려면 기본 설정의 키를 전달한 다음 키가 없을 때 기본값을 전달합니다.
string firstName = Preferences.Default.Get("first_name", "Unknown");
int age = Preferences.Default.Get("age", -1);
bool hasPets = Preferences.Default.Get("has_pets", false);
일부 시나리오에서는 기본 설정의 키를 전달한 다음 기본값과 해당 형식을 전달해야 할 수 있습니다.
long value = Preferences.Get("master_date", (long)0);
키 확인
키가 있는지 preferences 여부를 확인하는 것이 유용할 수 있습니다. 키가 없을 때 기본값을 설정했지만 Get
키가 존재하지만 키 값이 기본값과 일치하는 경우가 있을 수 있습니다. 따라서 기본값을 키가 존재하지 않는 지표로 사용할 수 없습니다. 메서드를 ContainsKey
사용하여 키가 있는지 확인합니다.
bool hasKey = Preferences.Default.ContainsKey("my_key");
하나 또는 모든 키 제거
메서드를 Remove
사용하여 다음에서 preferences특정 키를 제거합니다.
Preferences.Default.Remove("first_name");
모든 키를 제거하려면 다음 메서드를 Clear
사용합니다.
Preferences.Default.Clear();
공유 키
앱에서 저장한 항목은 preferences 앱에만 표시됩니다. 그러나 다른 확장 또는 조사식 앱에서 사용할 수 있는 공유 기본 설정을 만들 수도 있습니다. 기본 설정을 설정, 제거 또는 검색할 때 기본 설정이 저장되는 컨테이너의 이름을 지정하기 위해 선택적 문자열 매개 변수를 제공할 수 있습니다.
다음 메서드는 다음과 같은 문자열 sharedName
매개 변수를 사용합니다.
Preferences.Set
Preferences.Get
Preferences.Remove
Preferences.Clear
Important
공유 preferences 에 동작별 구현이 있으므로 플랫폼 구현 세부 정보를 읽어 보세요.
시스템 설정과 통합
Preferences 는 기본적으로 저장되므로 설정을 네이티브 시스템 설정에 통합할 수 있습니다. 플랫폼 설명서에 따라 플랫폼과 통합합니다.
- Apple: iOS 설정 번들 구현
- Android: 설정 화면 시작
플랫폼 간 차이점
이 섹션에서는 API와의 플랫폼별 차이점에 대해 preferences 설명합니다.
모든 데이터는 공유Preferences에 저장됩니다. 지정하지 sharedName
않으면 기본 Shared Preferences 가 사용됩니다. 그렇지 않으면 지정된 이름을 사용하여 프라이빗 Shared Preferences 를 가져오는 데 이름이 사용됩니다.
지속성
애플리케이션을 제거하면 자동 백업 기능을 사용하는 동안 앱이 Android 6.0(API 수준 23) 이상에서 실행되는 경우를 제외하고 모두 preferences 제거됩니다. 이 기능은 기본적으로 설정되며 API에서 사용하는 공유를 비롯한 PreferencesPreferences 앱 데이터를 유지합니다. Google의 자동 백업 설명서에 따라 이 기능을 사용하지 않도록 설정할 수 있습니다.
제한 사항
API가 적은 양의 텍스트를 저장하도록 설계되었기 때문에 많은 양의 텍스트를 저장하는 경우 성능에 영향을 줄 수 있습니다.
.NET MAUI