Xamarin Android C# SQLite

本文关键字:SQLite Android Xamarin | 更新日期: 2023-09-27 18:00:25

我是安卓系统的新手。

我在Visual Studio上使用Xamarin,并使用C#进行编码。

我看到过创建数据库的示例,如果数据库不存在,但不是我想要的。

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

Xamarin Android C# SQLite

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

打开一个现有的SQLite数据库与创建一个新数据库几乎没有什么不同

假设您使用的是sqlite-net(应该使用),
您所需要做的就是创建一个从SQLiteConnection继承的类。

public class CustomerDatabase : SQLiteConnection
{
    public CustomerDatabase(string filename) : base(filename, true)
    {
        //This will open the database file specified by filename
    }   
}

如果指定的文件名引用了现有数据库,则该数据库将被打开
如果引用的文件不存在,则会尝试创建新数据库。

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

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

除此之外,你应该做好出发的准备。