从非 Activity Class 访问 AssetManager

Access AssetManager from a Non-Activity Class

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

我的问题是我似乎无法在单独的 class.

上访问 AssetManager

我试过将我的 class 扩展到 BaseControl : Activity and/or BaseControl : MainActivity 结果就是这样

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

虽然我确实可以使用这个 void method 如果我将它放在 MainActivity Class 中,但我不想做这样的事情,因为我会想把这个分开。

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

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

所以我所做的是,将 Assets.Open(DbFile) 更改为 Application.Context.Assets.Open(DbFile),它起作用了。好吧,我还没有测试过,但应用程序没有抛出任何异常,当我通过断点跟踪流程时,一切进展顺利