2016-10-13 21 views
0

저는 몇 년 동안 가게에 있었던 Windows Phone 7 앱을 가지고 있습니다. WP 7.x, 8.0 및 8.1 장치에 설치됩니다. WP12.1을 대상으로 앱을 변환 중이므로 새로운 Microsoft AdControl (이전 버전에서는 연말에 광고 게재가 중단됨)을 사용할 수 있습니다. 즉, 이전 IsolatedSTorageFile.GetUserStoreForApplication()을 사용하는 대신 ApplicationData.Current.LocalFolder를 사용하여 데이터를 읽거나 쓸 필요가 있음을 의미합니다.WP7 ~ WP8.1 앱 업데이트. WP8.1 ApplicationData는 WP7 IsolatedStorageFile을 사용하여 저장된 동일한 데이터에 액세스합니까?

내 사용자는 IsolatedStorageFile.GetUserStoreForApplication()을 사용하여 저장 한 많은 데이터가 있습니다. 애플 리케이션을 WP8.1 버전으로 업그레이드 할 경우이 데이터가 손실되지 않고 ApplicationData.Current.LocalFolder를 사용하여 데이터에 계속 액세스 할 수 있는지 확인하고 싶습니다.

누구나 확인할 수 있습니까?

내가 WP7에 데이터를 작성하는 방법입니다 : 격리 된 저장소를 사용하여,

using (Stream stream = await ApplicationData.Current.LocalFolder.OpenStreamForReadAsync(filename)) 
{ 
    using (StreamReader sr = new StreamReader(stream)) 
    { 
     String line = sr.ReadLine(); 
     // Do something with line 
    } 
} 

답변

3

윈도우 폰 7 응용 프로그램 :

using (IsolatedStorageFile applicationStorage = IsolatedStorageFile.GetUserStoreForApplication()) 
{ 
    using (IsolatedStorageFileStream file = applicationStorage.OpenFile(filename, FileMode.Create, FileAccess.Write)) 
    { 
     using (StreamWriter sw = new StreamWriter(file)) 
     { 
      sw.WriteLine("some data goes here"); 
     } 
    } 
} 

이 어떻게 WP8.1에서 데이터를 읽는 것입니다

var store = IsolatedStorageFile.GetUserStoreForApplication(); 

윈도우 8.1/UWP 응용 프로그램 :

var localFolder = Windows.Storage.ApplicationData.Current.LocalFolder; 

두 폴더 모두 같은 폴더에 저장됩니다. 절대 경로는 다르다 :

  1. WP7은 : "C : \ 데이터 \ 사용자 로컬 \ DefApps \의 AppData \ {YOUR_APP_ID를} \"
  2. WP 8.1/UWP "C : \ 데이터 \ 사용자 \ DefApps \ AppData \ Local \ Packages \ YOURCOMPANY.YOURAPP_SOMEHASH \ LocalState "

두 경로는 모두 같은 폴더/파일을 공유합니다. 가장 중요한 것은 Package.appxmanifest XML을 편집하는 것입니다. Visual Studio에서 "코드보기 보기 디자이너"으로 열지 마십시오.

<mp:PhoneIdentity PhoneProductId="NEW_APP_ID" PhonePublisherId="00000000-0000-0000-0000-000000000000" /> 

가 (너무 오래된 WP7 앱에서) 이전 publisherId의으로 이전 WP7 앱의 아이디와 PhonePublisherId에 의해 PhoneProductId을 바꾸기 : XML에서이 행을 편집 할 수 있습니다. 이 작업을 수행하지 않으면 해당 코드가 다른 폴더를 제공합니다 (WP 8.1/UWP 코드는 빈 폴더를 제공함). 그러나이 ID가 변경되면 모든 이전 데이터가있는 동일한 폴더가 수신됩니다.

설치 후 새 앱이 기존 앱을 대체합니다.

+0

GeoIT에 감사드립니다. 특히 PhoneProductId에 대한 추가 자료가 필요합니다. – Jared