4

私は Windows Phone 7 アプリに取り組んでおり、Bing マップを使用して ATM の近くの場所を表示します。

アドレスと GPS 座標を含む xml ファイルがあります。しかし、このファイルを Visual Studio からプログラムに追加するにはどうすればよいですか? BuildAction を Content に設定し、Copy to output directory を常に Copy に設定した場合。ファイルはまだ IsolatedStorage にありません。Web から情報をダウンロードするメカニズムを構築する必要がありますか? それとも別の方法がありますか?

4

3 に答える 3

4

Visual Studioプロジェクトでコンテンツとしてリストされているファイルは、生成されたXAPファイル(ZIPファイルに類似)にコピーされます。それらは分離されたストレージにコピーされません。

XMLファイルの場合、次のように、ファイルへのパスを引数としてXmlReader.Createを呼び出すことができます。

using (XmlReader reader = XmlReader.Create("path/to/file.xml"))
{
    // read XML file here
}

または、 Application.GetResourceStreamを呼び出して、返されたStreamResourceInfoオブジェクトのStreamプロパティを使用することもできます。

StreamResourceInfo sri = Application.GetResourceStream(
    new Uri("path/to/file.xml", UriKind.Relative));
// read XML file here from sri.Stream, e.g. using a StreamReader object
于 2010-09-11T12:57:54.237 に答える
2

設計時に、ファイルを分離されたストレージに直接渡すことはできません。アプリケーションが実行されている場合のみ。

それでも、Webサービスを介してファイルをアプリケーションに渡すことをお勧めします。主な理由は、最終的にXMLの内容を変更する必要がある場合は、アプリケーションを更新する必要があるためです。

私が行うことは、単純なHTTP要求を介してシリアル化されたデータ(または既存のXML)を返すWCFサービスを作成することです。

于 2010-09-12T21:30:17.160 に答える
1

「Mango」SDK には、ローカル ディレクトリとの間でアプリケーションの分離ストレージのスナップショットを取得および復元できるISEToolが付属しています。

# Copy data from IS to directory
ISETool.exe ts xd <PRODUCT-ID> "C:\TempDirectory\IsolatedStore"

# Copy data from IS to directory
ISETool.exe rs xd <PRODUCT-ID> "C:\TempDirectory\IsolatedStore"

IS 全体を上書きしたくない場合、ツールはdevice-folderバックアップ/復元するサブディレクトリを指定するオプション ( ) をサポートしています。

于 2011-07-10T08:52:40.217 に答える