Xamarin Android C# SQLite
本文关键字:SQLite Android Xamarin | 更新日期: 2023-09-27 18:00:25
我是安卓系统的新手。
我在Visual Studio上使用Xamarin,并使用C#进行编码。
我看到过创建数据库的示例,如果数据库不存在,但不是我想要的。
有没有人有任何代码(C#)可以使用Assets文件夹中已有的sqlite数据库,而不是在Android设备上创建新的数据库?
您必须将数据库文件从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
}
}
如果指定的文件名引用了现有数据库,则该数据库将被打开
如果引用的文件不存在,则会尝试创建新数据库。
在这一点上,我假设你有两个问题:
- 即使没有将
模型定义为应用程序的一部分,也要打开和操作数据库。这意味着您的应用程序对数据库的实际外观一无所知。因此,
的唯一选项是定义它们或执行原始SQL查询并处理dynamic
响应 - 您已将现有数据库添加到assets文件夹中的项目中,
,但据我所知,无法在运行时对这些文件执行write
操作
相反,您应该在应用程序首次启动时将数据库复制到正常存储中
除此之外,你应该做好出发的准备。