在将WP8应用程序提交到Windows应用商店时如何上传隔离存储文件?

时间:2014-05-22 03:12:56

标签: windows-phone-8 isolatedstorage

我正处于WP8应用程序开发的最后阶段,我正在展望提交应用程序。但是,我很困惑如何提交在我的应用程序中始终从隔离存储中读取的文件(图像和文本文件)。目前处于测试/调试模式,当运行模拟器时,我正在使用Windows Phone Power Tools将这些文件添加到隔离存储中,这是我第一次运行应用程序并且一切正常 - 文件和图像可以正确读取我在Power Tools中设置的目录。

显然,在提交应用时,没有类似的方法将手机连接到隔离存储。所以我的问题很简单:如何将适当的文件/目录放入隔离存储中,以便在提交应用程序进行审批时开始

我已经完成了一些研究,并了解如何以编程方式执行此操作,但这样做意味着您打算放置在隔离存储中的每个文件都需要是原始应用程序内容的一部分(在某个文件夹是项目的一部分)。那么,为什么有人会故意将他们的文件添加到隔离存储中,然后在需要时读回文件,当他们可以将它们留在项目文件夹中并服务于同样的目的时?看起来这只是额外的工作,不需要发生产生相同的结果。我错过了什么?

在这个时间点,我修改所有内容为时已晚 - 每个静态图像和文本都是从存储在Isolated Storage上的文件中读取的,但我想知道为什么我这样做了?

最重要的是,我是否需要对每个图像和* .txt文件进行编码并将其放在隔离存储中,或者是否有更简单的方法来上传文件ONCE,并且它们将保留在用户WP8上的隔离存储中应用已安装?

2 个答案:

答案 0 :(得分:3)

有关内容文件(静态文件)的一些信息

如果你有静态文件 - 也就是说,除了更新应用程序之外,部署应用程序后不会更改的文件 - 你将这些文件作为内容放在应用程序中。你在VS中添加它们并设置它们的" Build Action"到"内容" (来自"属性"文件)。在大多数情况下,默认情况下会设置Build Action。

然后阅读您使用的这些文件:

Application.GetResourceStream(uri);

有关隔离存储文件(动态文件)的一些信息

如果您需要根据用户操作(设置,分数和其他一些用户数据的文件)更改文件,则必须以编程方式创建这些文件并将其放入隔离存储中。您无法以编程方式以任何其他方式将文件添加到隔离存储。将静态文件放在那里根本就没有办法,因此没有办法(除了从app的内容中手动复制它们)。

要阅读这些文件,请使用IsolatedStorageFile API,如下所示:

using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication()) {
    // read/write IsoStorage files using the methods on the isoStore object
}

推荐OP

我建议您只需更改应用即可使用内容文件。这不会超过一天,这将是正确的方法。您可以从内容中复制文件,但我不建议这样做,除非您真的需要它。不过,我可以提出想法。

答案 1 :(得分:0)

如果您希望将文件放在隔离存储中,则始终需要写入隔离存储。

为此,您可以使用它从Resource获取文件并将其写入您的独立存储:

Application.GetResourceStream(fileUri);

然后,您将其写入在隔离存储中创建的文件。