Android资产管理器例外

时间:2013-03-14 11:38:43

标签: android xamarin xamarin-studio xamarin.android

我想使用Android资产并遵循官方文档中的tutorial

已将资产类型设置为AndroidAssets,就像它说的那样,但它却因未找到文件而抛出异常。我有一个root设备所以经过检查我发现文件实际上并不在设备上(/data/data/com.company.application/files/SomeFile.txt)。

编辑:

String filename = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "AboutAssets.txt");
FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);

3 个答案:

答案 0 :(得分:0)

Android资产存储在APK文件中,因此您无法使用代码找到该文件。这些文件没有绝对路径。

只需使用Assets.Open访问资源,就像tutorial中所教导的那样。

答案 1 :(得分:0)

您可以尝试:

AssetManager assets = context.getAssets();
InputStream is = assets.open(filename);

context Object指的是Application of Context。

答案 2 :(得分:0)

不久前发布了这个并最终没有使用Xamarin因为我从未找到过解决方案。我最近回到了Xamarin,最新的更新似乎已经修复了这个问题 - 同样的项目现在可以正常工作而不做任何修改。

所以如果有其他人遇到这个 - 请尝试更新。