这似乎很容易,但是我不知道为什么我不能使用Assets.open方法而不会获得FileNotFound异常。
我在xamrain.com上关注了一个例子 http://docs.xamarin.com/guides/android/application_fundamentals/resources_in_android/part_6_-_using_android_assets/
仍然没有让它发挥作用。
我在Assets文件夹下添加了一个txt文件 将Build Action设置为" AndroidAsset" 我尝试将COpy设置为Output Diretory to" Always Copy"和"不要复制"。
无论组合是什么,我总是得到FileNotFound异常。
看起来许多开发人员也看到了问题,但我没有看到我可以尝试的答案。 感谢是否有人可以阐明这个简单的主题。
提前致谢
答案 0 :(得分:1)
首先,如果没有看到您的代码,就不可能发现您可能错过的任何错误。很容易错过文件名问题或其他可能不那么明显的问题。
尽管如此,我会尽力给你一些指示。
'复制到输出目录'设置对Android资源并不重要。 AndroidAsset的构建操作将确保该文件包含在应用程序包中,允许您使用Assets.Open()
加载它。
要确认这一点,请查看bin / debug或bin / release文件夹中已编译的.apk文件。 .apk文件只是一个存档,因此您可以使用winrar或7-zip打开它,或者将其重命名为.zip,Windows将打开它。
如果文件位于assets文件夹中,则代码可能存在问题。你应该在你的问题中发布它。如果文件不在那里,请尝试清理项目,或删除bin文件夹以强制重新构建和重新打包。
答案 1 :(得分:0)
之前我遇到过这个问题,我终于在我的目录资产中发现了一个图像文件/由中文字符命名,因此资产中的图像没有以正确的方式加载。
我猜你应该查看文件名是否编码错误。
答案 2 :(得分:0)
您应该只使用小写尝试名称文件。有时android将名称转换为较低的偶数文件包含大写。
答案 3 :(得分:0)
检查文件的属性。我不得不设置" Build Action"到AndroidAsset,之后它运行正常。