2013-05-07 2 views
0

Xamarin의 Mono 항목 (MonoTouch 및 MonoDroid)을 사용하여 응용 프로그램을 빌드하려고합니다. 로컬 스토리지에 컨텐츠를 배치 할 수있는 코드를 작성하려고합니다. Windows Phone 배경에서 볼 때, 저는 이것이 Xamarin 세계에서도 권장되는 방법이라고 생각했습니다.Xamarin의 IsolatedStorage 사용

IsolatedStorageSettings clientStorage = IsolatedStorageSettings.ApplicationSettings; 
if (clientStorage != null) 
{ 
    if (clientStorage.Contains("myKey")) 
    clientStorage["myKey"] = value; 
    else 
    clientStorage.Add("myKey", value); 
    clientStorage.Save(); 
} 

자 마린 스택 System.IO.IsolatedStorage을 제공하지만, 그것은 IsolatedStorageSettings 클래스를 제공하지 않습니다 윈도우 폰, 나는 다음과 같은했을 것이다. 자, 나는 갇혀있는 느낌이 들어서 예를 찾을 수 없습니다. 제 질문은, Isolated Storage에 Mono 앱으로 어떻게 가치를 부여할까요?

감사합니다.

답변

2

IsolatedStorageSettings is not implemented in the mobile solutions 해당 게시물 당 추가 할 수있는 것처럼 보이지만 사용자 정의 구현이어야합니다.

일반적으로 다른 옵션이 있습니다.

  • 네이티브 지원 메커니즘을 사용하십시오. Android : SharedPreferences (example). iOS : NSUserSettings (example).
  • JSON 또는 XML을 사용하여 직렬화 된 개체에 설정을 저장 한 다음 개체에 액세스해야 할 때 deserialize합니다. 이 빠르면 좋고 더러운 옵션 일 수는 있지만 권장하지는 않습니다.
  • SQLite 데이터베이스를 사용하여 설정을 저장하십시오. 이것은 크로스 플랫폼 옵션이고 아마도 가장 권장되는 옵션입니다.
0

공식 모노 프로젝트는 IsolatedStorageSettings에 대한 구현을 제공합니다.

https://github.com/mono/moon/blob/master/class/System.Windows/System.IO.IsolatedStorage/IsolatedStorageSettings.cs에서 찾을 수 있습니다.

파일을 프로젝트에 추가하고 참조에 "System.Runtime.Serialization"을 추가하기 만하면됩니다.

클래스는 app 디렉토리에 "__LocalSettings"파일을 만들고 DataContractSerializer을 사용하여 설정을 일련 번호로 지정합니다.

+1

이 답변으로 조금 더 설명을하는 것이 좋을 것입니다. –