このトピックはまだ評価されていません - このトピックを評価する

Windows Phone のデータ

2013/12/05

対象: Windows Phone 8 | Windows Phone OS 7.1

ここでは、データの場所、データへのアクセスに使用できる API、およびそれらの API をサポートする Windows Phone のバージョンについて説明します。また、Windows Phone 8 でサポートされている Win32 ストレージ API も一覧表示しています。

メモメモ:

このセクションは、電話に存在する永続データに限定されます。アプリとページの状態の保存については、「Windows Phone のアプリのアクティブ化および非アクティブ化」を参照してください。電話に存在しないデータへのアクセスについては、「Windows Phone の通信」を参照してください。

このトピックは、次のセクションで構成されています。

インストール フォルダーは、アプリ パッケージのファイルが保存される読み取り専用フォルダーです。このフォルダーは、Windows Phone OS 7.1 では "appdata" フォルダーとも呼ばれます。インストール フォルダーにアクセスするには、次の API を使用します。

API

説明

Windows Phone OS 7.1 でサポート

Windows Phone 8 でサポート

GetResourceStream

このメソッドを使用して、インストール フォルダーのファイルをストリームします。例については、「Windows Phone 用のアプリで参照データベースを展開する方法」を参照してください。

green check markgreen check mark

DataContext

アプリ パッケージの一部である参照データベースに接続するには、ローカル データベース オブジェクトを作成するときに、パスにインストール フォルダー プロトコルを使用します。例については、「Windows Phone のローカル データベース接続文字列」を参照してください。

green check markgreen check mark

InstalledLocation

最新の Package クラスの InstalledLocation プロパティは、StorageFolder オブジェクトとしてインストール フォルダーを返します。インストール フォルダーのフル パスを取得するには、Path プロパティを使用します。

red xgreen check mark

StorageFile およびStorageFolder

インストール フォルダー内のファイルとフォルダーを操作するには、これらの API を使用します。

red xgreen check mark

インストール フォルダーの URI スキーム

パス内のインストール フォルダーのアドレスを指定するには、appdata または ms-appx URI スキーム名を使用します。これらの URI スキームは同じ場所を指定しますが、交換して使用することはできません。Windows 名前空間内にある API でインストール フォルダーのアドレスを指定するには、"ms-appx:///" を使用します。その他の API の場合は、"appdata:/" を使用します。これらの URI スキームの使用法を示すコード例を次に示します。

// Reference the installation folder with the appdata URI scheme.
Uri myInitialSettingsFileUri = new System.Uri("appdata:/AppSetup/initialSettings1.xml");

// Get a file from the installation folder with the ms-appx URI scheme.
var file = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///AppSetup/initialSettings2.xml"));
メモメモ:

ms-appx には 3 つのスラッシュ ("///") が必要です。appdata には 1 つのスラッシュのみ (/) が必要です。

ローカル フォルダーは、アプリのデータ ストアのルート フォルダーです。Windows Phone OS 7.1 では分離ストレージと呼ばれるように、ローカル フォルダーは他のアプリから分離されています。このフォルダーは、電話に永続的にデータを残すために使用します。

API

説明

Windows Phone OS 7.1 でサポート

Windows Phone 8 でサポート

DataContext

ローカル データベース ファイルはローカル フォルダーに格納されます。ローカル データベースに接続するには、ローカル データベース オブジェクトを作成するときに、パスにローカル フォルダー プロトコルを使用します。詳細については、「Windows Phone のローカル データベース」を参照してください。

green check markgreen check mark

IsolatedStorageSettings

ローカル フォルダーのキー/値のペアを操作します。例については、「Windows Phone の設定ページを作成する方法」を参照してください。

green check markgreen check mark

IsolatedStorageFile

ローカル フォルダー内のファイルとフォルダーを操作します。例については、「クイックスタート: Windows Phone 7 でのファイルとフォルダーの操作」を参照してください。

green check markgreen check mark

StorageFile およびStorageFolder

ローカル フォルダー内のファイルとフォルダーを操作するには、これらの API を使用します。StorageFolder の例については、「クイックスタート: Windows Phone 8 でのファイルとフォルダーの操作」を参照してください。

red xgreen check mark

LocalFolder

最新の ApplicationData クラスの LocalFolder プロパティは、StorageFolder オブジェクトとしてローカル フォルダーを返します。ローカル フォルダーのフル パスを取得するには、Path を使用します。

red xgreen check mark

ローカル フォルダーの URI スキーム

パス内のローカル フォルダーのアドレスを指定するには、isostore または ms-appdata URI スキーム名を使用します。ローカル フォルダーへのアクセスには、両方の URI スキームを使用できますが、交換して使用することはできません。Windows 名前空間内にある API でローカル フォルダーのルートをアドレス指定するには、"ms-appdata:///local/" を使用します。その他の API でローカル フォルダーのルートをアドレス指定するには、"isostore:/" を使用します。これらの URI スキームの使用法を示すコード例を次に示します。

// Create a local database in the local folder with the isostore URI scheme.
MyDataContext db = new MyDataContext("isostore:/mydb.sdf");

// Get a file from the local folder with the ms-appdata URI scheme.
var file = await Windows.StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appdata:///local/AppConfigSettings.xml"));

メモメモ:

ms-appdata には 3 つのスラッシュ ("///") が必要です。isostore には 1 つのスラッシュのみ (/) が必要です。

どちらの URI スキームをアプリで使用する場合にも、新しいファイルとフォルダーのパスは、URI スキーム名の最後のスラッシュ以後が 185 文字を超えることはできません。たとえば、isostore:/mydb.sdf のパスは使用可能な 185 文字のうち 8 文字を使用しています。

ローカル フォルダー内の特殊な用途のフォルダー

ローカル フォルダーは、一般的なデータ ストレージとしてだけではなく、次の特殊な用途の場合にも使用されます。アプリで作成したディレクトリを検索するためにローカル フォルダーを反復処理する場合、これらのフォルダーを忘れないでください。

パス

使用方法

備考

Shared

MediaShellContent、および Transfers の各フォルダーをホストするために使用します。

このフォルダーは、アプリのインストール時に作成されますが、削除できます。

Shared/Media

アルバム アート: アプリでは、このフォルダーを使用して Universal Volume Control (UVC) にアルバム アートを表示すると同時に、バックグラウンド オーディオを再生できます。

このフォルダーは、アプリのインストール時に作成されますが、削除できます。詳細については、「Windows Phone の [ミュージック+ビデオ] ハブと統合する方法」を参照してください。

Shared/ShellContent

タイル: タイルは、各タイルの前面または背面に背景イメージを表示できます。背景イメージは、ローカル フォルダーに保存できますが、このフォルダーまたはそのサブフォルダーに置く必要があります。

このフォルダーは、アプリのインストール時に作成されますが、削除できます。詳細については、「Windows Phone のタイル」を参照してください。

Shared/Transfers

バックグラウンド ファイル転送: アプリがフォアグラウンドで実行されていない場合でも、バックグラウンドでローカル フォルダーにファイルを保存できます。

このフォルダーは、アプリのインストール時に作成されますが、削除できます。詳細については、「Windows Phone のバックグラウンド ファイル転送」を参照してください。

PlatformData

写真セレクター タスク

アプリで写真セレクター タスクを使用する場合、このフォルダーが作成されます。詳細については、「Windows Phone の写真セレクター タスクの使用方法」を参照してください。

ローカル フォルダーの調査

Isolated Storage Explorer (ISETool.exe) を使用して、ローカル フォルダー内のファイルとディレクトリの一覧表示、コピー、および置換を行います。Isolated Storage Explorer は、Windows Phone SDK と共にインストールされるコマンドライン ツールです。このツールを使用すると、ファイルが正しいデータで正しい場所に保存されていることを確認できます。Isolated Storage Explorer は、エミュレーターまたはデバイスで使用できます。詳細については、「Windows Phone の分離ストレージ エクスプローラー ツールを使用する方法」を参照してください。

メディア ライブラリは、オペレーティング システムによって写真、音楽、およびビデオが電話に保存される場所です。ライブラリのメディアは、内部ストレージと、電話で使用可能な場合は外部ストレージ (SD カード) を組み合わせたストレージに格納されます。ただし、メディア ライブラリは仮想ストレージ コンテナーなので、ファイルの格納場所は区別されません。メディア ライブラリ内のファイルにアクセスするには、次の MediaLibrary API を使用します。メディア ライブラリ拡張 API (Microsoft.Xna.Framework.Media.PhoneExtensions 名前空間) は、メディア ライブラリ オブジェクトに追加機能を提供します。メディアの操作の詳細については、「Windows Phone 用のメディア」を参照してください。

重要: 重要:

また、アプリでメディアにアクセスするには、アプリ マニフェスト ファイルの WMAppManifest.xml にも適用可能な機能を指定する必要があります。詳細については、「Windows Phone 用のアプリ マニフェスト ファイル」を参照してください。

MediaLibrary API

説明

Windows Phone OS 7.1 でサポート

Windows Phone 8 でサポート

AlbumsArtists、および Songs

読み取り専用の音楽のアクセス。

green check markgreen check mark

PicturesRootPictureAlbum、および SavedPictures

読み取り専用の写真のアクセス。

green check markgreen check mark

SavePicture および SavePictureToCameraRoll

保存した写真フォルダーとカメラ ロール フォルダーに写真を追加します。

green check markgreen check mark

SaveSong および Delete

メディア ライブラリから曲を追加または削除します。メモ: 曲を保存する場合、isostore URI スキーム名を使用しないでください。

red xgreen check mark

GetPath

指定した Picture オブジェクトから写真のファイル パスを取得します。

red xgreen check mark
メモメモ:

これらの API を Windows Phone OS 7.1 アプリで使用するには、Microsoft.Xna.Framework.Media 名前空間への参照を設定する必要があります。この参照は、新しい Windows Phone 8 プロジェクトで既に設定されています。メディア ライブラリ拡張 API を使用するには、Windows Phone 8 アプリの Microsoft.Xna.Framework.Media.PhoneExtensions に参照を設定します。

SD カードへの直接アクセスは読み取り専用であり、アプリがファイルの関連付けを処理するように登録したファイルの種類に限定されます。外部ストレージの詳細については、「Windows Phone 8 での SD カードからの読み取り」を参照してください。

SD カードから読み取るには、次の API を使用します。

API

説明

Windows Phone OS 7.1 でサポート

Windows Phone 8 でサポート

ExternalStorageDevice

SD カードを表します。カードを一意に識別するには、ExternalStorageID プロパティを使用します。

red xgreen check mark

GetExternalStorageDevicesAsync

電話機に挿入されている SD カードのコレクションを返します。このコレクションには 1 枚の SD カードが含まれます。

red xgreen check mark

ExternalStorageFolder

SD カードのフォルダーを表します。フォルダーに後でアクセスするには、Path プロパティを使用します。

red xgreen check mark

ExternalStorageFile

SD カードのファイルを表します。ファイルに後でアクセスするには、Path プロパティを使用します。

red xgreen check mark

GetFileAsync(String) およびGetFolderAsync(String)

外部ストレージ デバイス オブジェクトから直接ファイルまたはフォルダーを取得します。

red xgreen check mark

また、アプリから SD カードにアクセスするには、アプリ マニフェスト ファイルの WMAppManifest.xml に ID_CAP_REMOVABLE_STORAGE 機能を指定する必要があります。詳細については、「Windows Phone 用のアプリ マニフェスト ファイル」を参照してください。

この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました
表示:
© 2014 Microsoft. All rights reserved.