导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

Windows Phone 8 的数据

2014/6/18

适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

本主题描述数据存储位置,可以用于访问数据的 API,以及支持这些 API 的 Windows Phone 版本。本主题还列出了 Windows Phone 8 上支持的 Win32 存储 API。

说明注意:

本节仅限于手机上存储的持久性数据。有关保存应用程序和页面状态的信息,请参见 Windows Phone 8 的应用激活和停用。有关访问未存储在手机上的数据的信息,请参见 Windows Phone 8 的通信

本主题包括以下部分。

安装文件夹是只读文件夹,包含应用包的文件。在 Windows Phone OS 7.1 中,您可能已经听过此文件夹被称为“appdata”文件夹。您可以使用以下 API 访问安装文件夹。

API

描述

受 Windows Phone OS 7.1 支持

受 Windows Phone 8 支持

GetResourceStream

使用此方法从安装文件夹查看文件。有关示例,请参见如何使用 Windows Phone 8 应用部署参考数据库

green check markgreen check mark

DataContext

要连接到作为应用程序包的一部分的参考数据库,请在创建本地数据库对象时在路径中使用安装文件夹协议。有关示例,请参见 Windows Phone 8 的本地数据库连接字符串

green check markgreen check mark

InstalledLocation

当前 Package 类的 InstalledLocation 属性返回安装文件夹作为 StorageFolder 对象。使用 Path 属性获取安装文件夹的完整路径。

red xgreen check mark

StorageFileStorageFolder

使用安装文件夹中的文件和文件夹时,结合使用这些 API。

red xgreen check mark

安装文件夹 URI 方案

在路径中,使用 appdatams-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 需要三个斜杠(“///”),而 appdata 仅需要一个斜杠(“/”)。

本地文件夹是应用程序数据存储的根文件夹。本地文件夹在 Windows Phone OS 7.1 中称为独立存储,它独立于其他应用程序。可使用此文件夹在手机上持久保存数据。

API

描述

受 Windows Phone OS 7.1 支持

受 Windows Phone 8 支持

DataContext

本地数据库文件存储在本地文件夹中。要连接到本地数据库,请在创建本地数据库对象时在路径中使用本地文件夹协议。有关更多信息,请参见 Windows Phone 8 本地数据库

green check markgreen check mark

IsolatedStorageSettings

使用本地文件夹中的键/值对。有关示例,请参见如何为 Windows Phone 8 创建设置页面

green check markgreen check mark

IsolatedStorageFile

使用本地文件夹中的文件和文件夹。有关示例,请参见快速入门:使用 Windows Phone 7 中的文件和文件夹

green check markgreen check mark

StorageFileStorageFolder

在使用本地文件夹中的文件和文件夹时,结合使用这些 API。有关 StorageFolder 示例,请参见快速入门:使用 Windows Phone 8 中的文件和文件夹

red xgreen check mark

LocalFolder

当前 ApplicationData 类的 LocalFolder 属性返回本地文件夹作为 StorageFolder 对象。使用 Path 属性获取本地文件夹的完整路径。

red xgreen check mark

本地文件夹 URI 方案

在路径中,使用 isostorems-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 需要三个斜杠(“///”),而 isostore 仅需要一个斜杠(“/”)。

不论您在应用中使用何种 URI 方案,新文件和文件夹的路径在 URI 方案名称的最后一个斜杠后面不能超过 185 个字符。例如,isostore:/mydb.sdf 的路径使用了 8 个字符,未超过可用的 185。

本地文件夹中的特殊用途文件夹

除了常规数据存储外,本地文件夹用于下列特殊用途情形:如果您的应用在本地文件夹中迭代以查找它创建的目录,则请记住这些文件夹。

路径

使用

说明

共享

用于托管 MediaShellContentTransfers 文件夹。

该文件夹在应用程序安装时创建,但可以将其删除。

Shared/Media

专辑封面:应用程序可以在播放背景音频时使用此文件夹在通用音量控件 (UVC) 中显示专辑封面。

该文件夹在应用程序安装时创建,但可以将其删除。有关更多信息,请参见如何与 Windows Phone 8 的音乐和视频中心集成

Shared/ShellContent

磁贴:磁贴可以显示每个磁贴正面和背面上的背景图像。背景图像可以存储在本地文件夹,但是必须位于此文件夹或其子文件夹中。

该文件夹在应用程序安装时创建,但可以将其删除。有关更多信息,请参见 Windows Phone 8 的磁贴

Shared/Transfers

后台文件传输:即使当应用程序不再在前台中运行时,应用程序仍可以将文件保存到后台中的本地文件夹中。

该文件夹在应用程序安装时创建,但可以将其删除。有关更多信息,请参见 Windows Phone 8 的后台文件传输

PlatformData

照片选择器任务

当应用使用照片选择器任务时创建此文件夹。有关更多信息,请参见如何使用 Windows Phone 8 的照片选取器任务

浏览本地文件夹

使用独立存储资源管理器 (ISETool.exe) 可列出、复制和替换本地文件夹中的文件和目录。独立存储资源管理器是一个随 Windows Phone SDK 一起安装的命令行工具。可以使用此工具验证文件是否保存在正确的位置,以及是否具有正确的数据。可以在模拟器或设备上使用独立存储资源管理器。有关更多信息,请参见如何使用 Windows Phone 8 的独立存储资源管理器工具

媒体库是操作系统在手机上存储照片、音乐和视频的地方。库中媒体的存储是内部存储和外部存储(SD 卡,如果手机上提供)的结合。然而,媒体库是虚拟存储容器,它不区分文件的存储位置。您可以使用以下 MediaLibrary API 访问媒体库中的文件。媒体库扩展 API(来自 Microsoft.Xna.Framework.Media.PhoneExtensions 命名空间)可为媒体库对象提供其他功能。有关使用媒体的详细信息,请参见 Windows Phone 的媒体

重要说明重要说明:

要访问应用中的媒体,您必须在应用清单文件 WMAppManifest.xml 中指定适用功能。有关更多信息,请参见 Windows Phone 8 的应用清单文件

媒体库 API

描述

受 Windows Phone OS 7.1 支持

受 Windows Phone 8 支持

AlbumsArtistsSongs

只读音乐访问。

green check markgreen check mark

PicturesRootPictureAlbumSavedPictures

只读照片访问。

green check markgreen check mark

SavePictureSavePictureToCameraRoll

将照片添加到“保存的图片”文件夹和“本机拍照”文件夹。

green check markgreen check mark

SaveSongDelete

添加和删除媒体库中的歌曲。注意:保存歌曲时不要使用 isostore URI 方案名称。

red xgreen check mark

GetPath

从指定的 Picture 对象获取照片的文件路径。

red xgreen check mark
说明注意:

您必须设置到 Microsoft.Xna.Framework.Media 命名空间的引用,以在 Windows Phone OS 7.1 应用中使用这些 API。此引用在新的 Windows Phone 8 项目中已设置。要使用媒体库扩展 API,请在 Windows Phone 8 应用中设置对 Microsoft.Xna.Framework.Media.PhoneExtensions 的引用。

直接访问 SD 卡是只读访问,并且仅限于您的应用程序注册的用来处理文件关联的文件类型。有关使用外部存储的更多信息,请参见从 Windows Phone 8 的 SD 卡读取

可以使用以下 API 读取 SD 卡。

API

描述

受 Windows Phone OS 7.1 支持

受 Windows Phone 8 支持

ExternalStorageDevice

表示 SD 卡。使用 ExternalStorageID 属性唯一地标识一张卡。

red xgreen check mark

GetExternalStorageDevicesAsync

返回手机中插入的 SD 卡的集合。此集合将包含不超过一张 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 8 的应用清单文件

显示:
© 2014 Microsoft