다음을 통해 공유


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 는 기본적으로 저장되므로 설정을 네이티브 시스템 설정에 통합할 수 있습니다. 플랫폼 설명서에 따라 플랫폼과 통합합니다.

플랫폼 간 차이점

이 섹션에서는 API와의 플랫폼별 차이점에 대해 preferences 설명합니다.

모든 데이터는 공유Preferences저장됩니다. 지정하지 sharedName 않으면 기본 Shared Preferences 가 사용됩니다. 그렇지 않으면 지정된 이름을 사용하여 프라이빗 Shared Preferences가져오는 데 이름이 사용됩니다.

지속성

애플리케이션을 제거하면 자동 백업 기능을 사용하는 동안 앱이 Android 6.0(API 수준 23) 이상에서 실행되는 경우를 제외하고 모두 preferences 제거됩니다. 이 기능은 기본적으로 설정되며 API에서 사용하는 공유를 비롯한 PreferencesPreferences 앱 데이터를 유지합니다. Google의 자동 백업 설명서에 따라 이 기능을 사용하지 않도록 설정할 수 있습니다.

제한 사항

API가 적은 양의 텍스트를 저장하도록 설계되었기 때문에 많은 양의 텍스트를 저장하는 경우 성능에 영향을 줄 수 있습니다.