Xamarin安卓C#SQLite

Xamarin安卓C#SQLite,c#,android,database,sqlite,xamarin.android,C#,Android,Database,Sqlite,Xamarin.android,我不熟悉安卓系统 我正在Visual Studio上使用Xamarin,并用C#编写代码 我见过创建数据库的例子,如果它不存在,但不是我正在寻找的 是否有人有任何代码(C#)用于使用资产文件夹中已有的sqlite数据库,而不是在Android设备上创建新数据库?打开现有sqlite数据库与创建新数据库几乎没有区别。 假设您正在使用(您应该使用), 您只需创建一个从SQLiteConnection继承的类 public class CustomerDatabase : SQLiteConnecti

我不熟悉安卓系统

我正在Visual Studio上使用Xamarin,并用C#编写代码

我见过创建数据库的例子,如果它不存在,但不是我正在寻找的


是否有人有任何代码(C#)用于使用资产文件夹中已有的sqlite数据库,而不是在Android设备上创建新数据库?

打开现有sqlite数据库与创建新数据库几乎没有区别。

假设您正在使用(您应该使用),
您只需创建一个从SQLiteConnection继承的类

public class CustomerDatabase : SQLiteConnection
{
    public CustomerDatabase(string filename) : base(filename, true)
    {
        //This will open the database file specified by filename
    }   
}
如果指定的文件名引用的是现有数据库,则将打开该数据库。
如果该文件引用的是不存在的文件,则将尝试创建新数据库

在这一点上,我假设您有两个问题:

  • 即使没有将模型定义为应用程序的一部分,也要打开和操作数据库。这意味着您的应用程序对数据库的实际外观一无所知。因此,唯一的选择是定义它们或执行原始SQL查询并处理动态响应
  • 您已将现有数据库添加到资产文件夹中的项目中,
    但据我所知,在运行时无法对这些文件执行
    写入
    操作。
    相反,您应该在应用程序首次启动时将数据库复制到普通存储中

  • 除此之外,您还应该准备好启动。

    您必须将数据库文件从
    资产
    文件夹复制到设备上的某个位置,然后在应用程序中使用该文件。请注意,您只需在应用程序首次启动时执行一次。

    C#android SQLite示例?????因此,基本上您是在询问如何打开现有数据库?我们用这个。创建一个从SQLiteConnection继承的类,并将数据库的文件名传递给构造函数。例如:(在Android上完全相同),但实际上创建一个新文件或打开一个现有文件没有区别,所以我认为您的问题可能没有很好的定义。请注意,sqlite net库也可以通过NuGet获得,您通常只需将两个.cs文件添加到项目中即可。在所有的桌面平台和安卓系统上都很有魅力。我让它工作起来了。。。你可以在这里找到例子。以上链接已断开-@user1929393,能否提供将文件一次性复制到内部存储器的示例代码?