从非活动类访问AssetManager

时间:2016-08-14 03:24:31

标签: c# android sqlite xamarin android-assets

我正在努力学习Xamarin,而我正在学习{I},我也在学习SQLite。虽然我目前正在努力如何将我SampleDb.db文件夹中的Assets导出到Android文件系统的某个地方(如Personal Folder里面)。

我的问题是,我似乎无法在单独的课程中访问AssetManager

我尝试将课程扩展到BaseControl : Activity和/或BaseControl : MainActivity,这就是发生的事情

enter image description here

我还尝试通过Android.Content.Res添加对using Android.Content.Res的引用并对AssetManager进行实例化,这就是发生的事情

enter image description here

虽然我可以使用此void method,如果我将其放在MainActivity课程中,我不想做这样的事情,因为我想要这个分开。

希望我能在这里挑选一些提示和技巧。感谢

1 个答案:

答案 0 :(得分:1)

自从发布此问题后,我继续在整个网络上搜索解决方案。另一个用户在不同的网站上发布了同样的问题,但事实证明他的方法(他的方法不适合他,我不知道为什么)为我工作。

所以我做的是,将Assets.Open(DbFile)更改为Application.Context.Assets.Open(DbFile)并且它有效。好吧,我还没有测试它,但应用程序没有给我任何异常,因为我通过断点追踪流程,事情进展顺利