当前上下文中不存在名称“Assets”

时间:2013-04-11 14:21:47

标签: android xamarin.android assets

我对这行代码有疑问。想在设备上创建sqlite数据库。

 string dbPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal) + "\\test.db";
        if (!System.IO.File.Exists(dbPath))

            using (System.IO.Stream sr = ***Assets***.Open("test.db"))
            {
                using (System.IO.Stream srTo = System.IO.File.Create(dbPath))
                {
                    sr.CopyTo(srTo);
                }
            }

此消息提供:     “资产”这个名称在当前上下文中不存在

有一个类似的项目,但比大的更全面。没有错误。他们资产我在下面的定义中定义了c盘中的cs文件,引用了Android.Content.ContextWrapper。 不是项目的路径。 [如何添加文件应用程序?

2 个答案:

答案 0 :(得分:3)

如果您未在活动中执行此操作,则需要引用活动/上下文。您需要将它传递给构造函数中的helper类。

public yourClass(Activity context.......){

      context.Assets.Open("your.db");
}

答案 1 :(得分:0)

您可以这样做:

using (System.IO.Stream sr = Android.App.Application.Context.Assets.Open("test.db"))
{
     using (System.IO.Stream srTo = System.IO.File.Create(dbPath))
     {
          sr.CopyTo(srTo);
     }
}