Xamarin从Core访问文件

时间:2015-03-25 22:47:33

标签: file xamarin mvvmcross

我在Xamarin项目中遇到了一些从核心库访问文件的问题。

我的文件是schema.json,它位于Android项目的Assets文件夹和Touch项目的Resources文件夹中,但Application.Context.Assets.Open("schema.json")System.IO.File.ReadAllText("schema.json")都无效。

您知道如何从核心库访问特定文件/文件夹吗?

PS:如果可以提供帮助,我正在使用MVVM Cross。

1 个答案:

答案 0 :(得分:0)

假设您正在使用Xamarin.Forms并尝试以跨平台方式执行此操作,您可以使用this指南中的示例,如下所示:

var assembly = typeof(LoadResourceText).GetTypeInfo().Assembly;
Stream stream = assembly.GetManifestResourceStream("WorkingWithFiles.PCLTextResource.txt");
string text = "";
using (var reader = new System.IO.StreamReader (stream)) {
    text = reader.ReadToEnd ();
}

为此,您需要将您的文件添加到您的Forms PCL项目中,其构建操作为EmbeddedResource

对于加载特定于平台的字符串,在底部附近,您可以看到使用IoC获得可以访问平台捆绑文件内容的实现的标准做法。