【发布时间】:2018-10-05 02:44:58
【问题描述】:
我一直在关注这个tutorial 的全部内容,了解如何在本地数据库中存储数据。在 iOS 上一切正常,不幸的是在 android 上我在数据库文件中创建表时出现异常。创建表的方法是:
public CalcDatabase(string dbPath)
{
database = new SQLiteAsyncConnection(dbPath);
database.CreateTableAsync<Calculation>().Wait();
}
而我在Android上获取数据库路径的自定义类如下:
public class LocalFileHelper : IFileHelper
{
public string GetLocalFilePath(string filename)
{
var path = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
path = Path.Combine(path, filename);
if(!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
return path;
}
}
这是我从 SQLite 得到的错误:
无法打开数据库文件:/data/user/0/com.companyname.XX/files/Calculation.db3 (CannotOpen)
我尝试针对几个不同的 API,我尝试清理和重建我的解决方案,我尝试在整个解决方案中重新安装 SQLite-net-pcl NuGet 包。没有任何效果。
我已经读过,它与权限有关,但我确实觉得奇怪的是,如果它是一个东西,微软官方教程没有涵盖这个。
【问题讨论】:
标签: android sqlite xamarin.forms xamarin.android android-sqlite