You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Visual Studio 2019的SQL/SQLite工具箱建立SQLite与Xamarin.Android项目的连接

Xamarin.Android 连接SQLite数据库可行思路

1. 迁移数据库文件到项目资源

  • 找到SQL/SQLite工具箱导入的.db/.sqlite格式本地数据库文件,复制到Xamarin.Android项目的Assets目录中
  • 右键点击项目内的数据库文件,打开「属性」面板,将「生成操作」设置为AndroidAsset,「复制到输出目录」设置为如果较新则复制,确保文件会被打包到APK中

2. 初始化数据库到可读写路径

Android系统中Assets目录下的资源为只读属性,无法直接修改操作,需要在应用首次启动时将数据库复制到应用私有可读写目录,参考代码如下:

// 替换为你的数据库文件名
const string DbFileName = "test_database.db";
var dbTargetPath = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.Personal), 
    DbFileName
);
// 仅首次启动时复制数据库
if (!File.Exists(dbTargetPath))
{
    using var assetStream = Assets.Open(DbFileName);
    using var targetStream = File.Create(dbTargetPath);
    assetStream.CopyTo(targetStream);
}

3. 配置连接操作

推荐两种生态内成熟的连接方案:

  • 方案1:使用官方Sqlite库
    安装NuGet包Microsoft.Data.Sqlite后,直接用生成的目标路径作为连接字符串即可建立连接:
    var connection = new SqliteConnection($"Data Source={dbTargetPath}");
  • 方案2:使用轻量ORM插件sqlite-net-pcl
    这是Xamarin.Android开发最常用的SQLite操作工具,安装NuGet包sqlite-net-pcl后,直接初始化实例即可完成连接:
    var db = new SQLiteConnection(dbTargetPath);

常见问题排查

  • 检查数据库文件的生成操作配置,避免打包时未被嵌入APK导致文件缺失
  • 确认使用的SQLite操作库版本与你的数据库文件版本兼容,避免低版本文件无法被高版本库读取
  • 连接失败时可打印dbTargetPath,检查对应路径下是否存在完整的数据库文件

内容的提问来源于stack exchange,提问作者Aymen Gondech

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 06:39:03