windows phone:Windows Phone 的数据

转载于:http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/ff402541(v=vs.105).aspx

适用于: 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 mark green check mark

DataContext

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

green check mark green check mark

InstalledLocation

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

red x green check mark

StorageFile 同时StorageFolder

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

red x green check mark

安装文件夹 URI 方案

在路径中,使用 appdata 或 ms-appx URI 方案名称编写安装文件夹地址。尽管这些 URI 方案指向同一位置,但不可互换使用。在使用 Windows 命名空间中的 API 编写安装文件夹地址时,使用“ms-appx:///”。对于其他 API,使用“appdata:/”。以下代码所示为如何使用这些 URI 方案的一些示例。

C#
// 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 本地数据库

green check mark green check mark

IsolatedStorageSettings

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

green check mark green check mark

IsolatedStorageFile

使用本地文件夹中的文件和文件夹。有关示例,请参见如何为 Windows Phone 存储文件和文件夹

green check mark green check mark

StorageFile 同时StorageFolder

在使用本地文件夹中的文件和文件夹时,结合使用这些 API。

red x green check mark

LocalFolder

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

red x green check mark

本地文件夹 URI 方案

在路径中,使用 isostore 或 ms-appdata URI 方案名称编写本地文件夹地址。尽管这两种 URI 方案都可以用来访问本地文件夹,但它们不可以互换使用。对 Windows 命名空间中的 API,使用“ms-appdata:///local/”编写本地文件夹的根目录。对所有其他 API,使用“isostore:/”编写本地文件夹的根目录。以下代码所示为如何使用这些 URI 方案的一些示例。

C#
// 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。

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

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

路径

用途

注释

Shared

用于托管 MediaShellContent 和Transfers 文件夹。

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

Shared/Media

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

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

Shared/ShellContent

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

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

Shared/Transfers

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

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

PlatformData

照片选择器任务

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

浏览本地文件夹

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

 

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

重要说明重要说明:

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

媒体库 API

说明

受 Windows Phone OS 7.1 支持

受 Windows Phone 8 支持

AlbumsArtists 和 Songs

只读音乐访问。

green check mark green check mark

PicturesRootPictureAlbum和 SavedPictures

只读照片访问。

green check mark green check mark

SavePicture 和SavePictureToCameraRoll

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

green check mark green check mark

SaveSong 和 Delete

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

red x green check mark

GetPath

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

red x green 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 x green check mark

GetExternalStorageDevicesAsync

返回手机中插入的 SD 卡的集合。此集合将包含不超过一张 SD 卡。

red x green check mark

ExternalStorageFolder

表示一张 SD 卡上的文件夹。稍后可使用 Path 属性来访问文件夹。

red x green check mark

ExternalStorageFile

表示一个 SD 卡上的文件。稍后可使用 Path 属性来访问文件。

red x green check mark

GetFileAsync(String) 同时GetFolderAsync(String)

直接从外部存储设备对象获取文件或文件夹。

red x green check mark

若要从应用访问 SD 卡,您必须在应用清单文件 WMAppManifest.xml 中指定 ID_CAP_REMOVABLE_STORAGE 功能。有关更多信息,请参见 Windows Phone 的应用清单文件

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值