2011-04-21 7 views
0

간단한 wp7 응용 프로그램을 작성했습니다. 나는 데이터베이스와 상호 작용하는 wcf 서비스를 사용하고 있습니다. 이제 모바일에 사용자 정보의 일부를 저장하려고합니다. 이 정보는 wp7 앱에서 액세스 할 수 있어야합니다. 하나가 더 적합 할 것 app.xamlwp7에서 XML 파일의 데이터를 관리하는 방법은 무엇입니까?

에서 격리 된 스토리지 리소스 파일이나 정적 데이터 :

나는 여러 같은 작업을 수행 할 수있는 방법을 찾았나요? 미래에 데이터를 편집하고 싶을 수도 있습니다 ... 나는 그들이 읽기 전용이므로 패키지 파일을 선택할 수 없습니다. 또한 격리 된 저장소에 저장하여 데이터를 잃고 싶지 않습니다.

나를 위해 앱의 사용 사이에 다운로드 한 데이터를 저장할 것 소리 미리

빈두

답변

1

에서

덕분에 가장 적합한 옵션을 제안하십시오. 이 경우 격리 저장소가 가장 좋은 방법 일 것입니다. 그것은 휴대 전화의 비 휘발성 메모리에 남아 있으며 당신은 그것을 잃지 않을 것입니다. 당신이이 읽기 전용되기 때문에 나중에 이러한 항목을 변경할 수 있도록하려면 때문에 app.xaml에서

세부 here

+0

안녕하십니까? 답변을 주셔서 감사합니다. 그러나 어딘가에 모바일의 격리 된 저장소에 데이터를 저장하면 시뮬레이터를 실행할 때마다 파일이 파괴되거나 다시 작성됩니다. 그것은 사실입니까? 또한 나는 사용자가 입력 한 데이터를 응용 프로그램의 일부로 만든 페이지의 양식 정렬에 저장하려고합니다. – Bindu

+1

격리 된 저장소는 에뮬레이터가 닫힐 때마다 다시 시작되고 즉 초기화되지만 이는 전화에서 발생하지 않습니다. 앱이 실행되지 않는 동안 데이터를 휴대 전화에 저장하는 유일한 방법입니다. –

0

리소스 파일 및 정적 데이터가 당신을 위해 작동하지 않습니다.

IsolatedStorage에 저장하여 "데이터 유실"이라고 말하면 무엇을 언급하는지 모르겠습니다. 이것은 최선의 방법이며 실제로 실제로하기 쉽습니다. 그런 다음

private void SaveSettings() 
{ 
    IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; 
    settings["VibrationOn"] = VibrationOn; 
} 

나중에로드 :

private void LoadSettings() 
{ 
    IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; 
    bool vo; 
    if (settings.TryGetValue<bool>("VibrationOn", out vo)) 
     VibrationOn = vo; 
    else 
     VibrationOn = true; 
} 

당신은 Application_LaunchingApplication_Activated 이벤트에 LoadSettings() 메소드를 호출 한 다음 SaveSettings()Application_Deactivated과 것이다 다음은 간단한 부울 절약의 예입니다 App.xaml.cs.x의 Application_Closing 이벤트

개체를 serialize하거나 전체 파일을 쓸 수도 있습니다.

+0

안녕하세요, 답변 해 주셔서 감사합니다. 어딘가에 고립 된 저장소 파일이 응용 프로그램의 제목에 저장되고 시뮬레이터가 시작될 때마다 파일이 다시 쓰여지는 것을 읽었습니다. 그래서 나는 "격리 된 스토리지를 사용하여 데이터를 잃어 버릴"것이라고 언급했습니다. iwsh가 이것이 얼마나 얌전하고 그런 상황을 피할 수있는 방법인지 알기 위해 – Bindu

+0

@ Bindu @SteveChadbourne의 의견을 참조하십시오. 고립 된 저장소 지우기는 시뮬레이터에서만 유효하며 닫을 때만 적용됩니다 (앱을 재실행하는 것이 아닙니다). 휴대 전화에서 데이터를 삭제하거나 앱을 제거하면 데이터가 삭제됩니다. 앱이 시작될 때마다 파일을 다시 작성하는 것은 코드에 달려 있습니다. 파일을 작성하기 전에 존재하지 않는 파일이 있는지 확인해야합니다. 그렇지 않으면 덮어 쓰게됩니다. – theChrisKent

관련 문제