Xamarin中的sqlite-net-pcl CreateTableAsync抛出错误'Java.Interop.JavaLocationException'

时间:2017-09-09 08:05:56

标签: android sqlite xamarin

我正在使用Xamarin原生开发解决方案。它包括几个项目,一个PCL项目和一个Xamarin.Android项目。

我为PCL项目安装了sqlite-net-pcl,我将平台特定的数据库位置路径从android项目传递到PCL。文件夹路径设置正确,执行头执行时,

database.CreateTableAsync<MyModel>().Wait();

public class MyModel {
    public int Id { get; set; }
    public string Name { get; set; }
    public bool IsDone { get; set; }
    public DateTime Date { get; set; }
}

它抛出,

Exception of type 'Java.Interop.JavaLocationException' was thrown. An unhandled exception occured.

并崩溃。我该如何解决?

1 个答案:

答案 0 :(得分:1)

如果模型类包含任何非复杂数据类型(如数组或列表),则会出现此错误。该插件仅支持非复杂类型,如 int,bool,string,enum ... 。 Model类在这里没有问题。

我解决了这个问题,

  1. 同时安装 android项目sqlite-net-pcl包。
  2. 清洁溶液。
  3. 删除 Android项目的 bin obj 文件夹。
  4. 然后在这些步骤之后运行应用程序,应用程序开始运行良好