Хранение ресурсов в IsolatedStorage для Windows Phone 7 - PullRequest
0 голосов
/ 16 марта 2012

Я пишу небольшую игру для Windows Phone 7. Это словарная игра, у меня есть текстовый словарь, который представляет собой огромный текстовый файл с большим количеством слов.

Как я могу использовать это с эмулятором. Я обнаружил, что мы можем получить доступ только к файлам, которые наше приложение создает с помощью IsolatedStorage. Должен ли я создавать этот файл вручную каждый раз при загрузке приложения (это неосуществимый подход) или я могу каким-то образом связать текстовый файл с приложением. В последнем случае, как я могу получить доступ к этому файлу.

Просто чтобы прояснить, я не ищу ссылки на учебники для изолированного хранилища. Я хочу добавить этот текстовый файл в ресурсы моего проекта и скопировать его в IsolatedStorage. Я не знаю, как это сделать, если бы кто-то мог мне помочь с этим, было бы здорово.

1 Ответ

3 голосов
/ 16 марта 2012

Фактически, когда вы используете эмулятор, вы можете использовать изолированное хранилище, но если вы выйдете из эмулятора, изолированное хранилище будет удалено.

Итак, вам нужно не выходить из эмулятора, чтобы пропустить файл в IsolatedStorage, но вы можете выйти из приложения.


Как записать текстовый файл из содержимого в изолированное хранилище

        IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();


        Stream yourFilepath = Application.GetResourceStream(new Uri("YourFilePath.txt", UriKind.Relative)).Stream;
        StreamReader reader = new StreamReader(yourFilepath);


        Stream yourIsolatedPath = new IsolatedStorageFileStream("YourFileIsolatedPath.txt", FileMode.CreateNew, myIsolatedStorage);
        StreamWriter writer = new StreamWriter(yourIsolatedPath);


        while (!reader.EndOfStream)
        {
            writer.WriteLine(reader.ReadLine());
        }

Этот код необходимо поместить в функцию

    private void Application_Launching(object sender, LaunchingEventArgs e)
    {

    }

В приложении. Xaml.cs

...