2017-11-25 110 views
0

我有一个需要从json文件中读取数据的Xamarin.Forms应用程序。我把文件放到Android的资产文件夹,并选择生成操作AndroidAssetsXamarin Android资产文件夹在构建解决方案时未更新

Example

然后我尝试在MainActivity将文件加载与Assets.Open(文件名),我得到一个FileNotFoundException异常。我删除了Android和PCL bin文件夹,并试图再次构建该项目,但得到了相同的结果。然后我在WinRar中打开.apk文件,当我进入assets文件夹时,我添加到项目中的文件不在那里。

有没有人有任何想法这里有什么问题?

+1

这很奇怪,它应该是工作。请注意,当你使用'Assets.Open()'方法时,你需要使用全名,例如:Assets.Open(“test.txt”),你可以阅读这个[document](https:// developer.xamarin.com/guides/android/application_fundamentals/resources_in_android/part_6_-_using_android_assets/)。 –

+0

我确实使用了Assets.Open(“test.txt”),但我仍然收到文件未找到错误。最奇怪的部分是,即使将文件的构建操作设置为AndroidAsset,它在成功构建应用程序后也不会出现在.apk文件中。所以我明白为什么它找不到该文件,但我不明白为什么该文件不是它在构建后应该在的位置。 – Kullis

+1

你介意分享一个基本的演示来重现这个问题吗?确保我们正在验证您使用的完全相同的东西。 –

回答

1

的问题是与使用设置为嵌入式资源 - 在资源文件名字符“”。根据York Shen的建议改变它,它开始按照它应有的工作。

1

您是否将文件设置为文件属性中的嵌入式资源?

如果不是,请右键点击文件 - >属性 - >在生成操作

+0

我将这些文件设置为AndroidAssets而不是您可以在图片中看到的嵌入式资源。不应该为Android应用程序工作?我尝试将它们改为嵌入式资源,但它没有任何区别。 – Kullis

相关问题