引入LitePal时报错如下:
org.litepal.exceptions.LitePalSupportException: Can't instantiate abstract class okhttp3.RequestBody
at org.litepal.crud.DataHandler.query(DataHandler.java:154)
at org.litepal.crud.QueryHandler.onFindAll(QueryHandler.java:123)
at org.litepal.Operator.findAll(Operator.java:1117)
at org.litepal.Operator$9.run(Operator.java:1138)
at java.lang.Thread.run(Thread.java:784)
Caused by: org.litepal.exceptions.LitePalSupportException: Can't instantiate abstract class okhttp3.RequestBody
at org.litepal.crud.DataHandler.createInstanceFromClass(DataHandler.java:636)
at org.litepal.crud.DataHandler.query(DataHandler.java:139)
at org.litepal.crud.QueryHandler.onFindAll(QueryHandler.java:123)
at org.litepal.Operator.findAll(Operator.java:1117)
at org.litepal.Operator$9.run(Operator.java:1138)
at java.lang.Thread.run(Thread.java:784)
Caused by: org.litepal.exceptions.LitePalSupportException: Can't instantiate abstract class okhttp3.RequestBody
at org.litepal.crud.DataHandler.createInstanceFromClass(DataHandler.java:636)
at org.litepal.crud.DataHandler.getInitParamValue(DataHandler.java:953)
at org.litepal.crud.DataHandler.getConstructorParams(DataHandler.java:692)
at org.litepal.crud.DataHandler.createInstanceFromClass(DataHandler.java:634)
at org.litepal.crud.DataHandler.query(DataHandler.java:139)
at org.litepal.crud.QueryHandler.onFindAll(QueryHandler.java:123)
at org.litepal.Operator.findAll(Operator.java:1117)
at org.litepal.Operator$9.run(Operator.java:1138)
at java.lang.Thread.run(Thread.java:784)
Caused by: org.litepal.exceptions.LitePalSupportException: Can't instantiate abstract class okhttp3.RequestBody
at org.litepal.crud.DataHandler.createInstanceFromClass(DataHandler.java:636)
at org.litepal.crud.DataHandler.getInitParamValue(DataHandler.java:953)
at org.litepal.crud.DataHandler.getConstructorParams(DataHandler.java:692)
at org.litepal.crud.DataHandler.createInstanceFromClass(DataHandler.java:634)
at org.litepal.crud.DataHandler.getInitParamValue(DataHandler.java:953)
at org.litepal.crud.DataHandler.getConstructorParams(DataHandler.java:692)
at org.litepal.crud.DataHandler.createInstanceFromClass(DataHandler.java:634)
at org.litepal.crud.DataHandler.query(DataHandler.java:139)
at org.litepal.crud.QueryHandler.onFindAll(QueryHandler.java:123)
at org.litepal.Operator.findAll(Operator.java:1117)
at org.litepal.Operator$9.run(Operator.java:1138)
at java.lang.Thread.run(Thread.java:784)
Caused by: java.lang.InstantiationException: Can't instantiate abstract class okhttp3.RequestBody
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at org.litepal.crud.DataHandler.createInstanceFromClass(DataHandler.java:634)
at org.litepal.crud.DataHandler.getInitParamValue(DataHandler.java:953)
at org.litepal.crud.DataHandler.getConstructorParams(DataHandler.java:692)
at org.litepal.crud.DataHandler.createInstanceFromClass(DataHandler.java:634)
at org.litepal.crud.DataHandler.getInitParamValue(DataHandler.java:953)
at org.litepal.crud.DataHandler.getConstructorParams(DataHandler.java:692)
at org.litepal.crud.DataHandler.createInstanceFromClass(DataHandler.java:634)
at org.litepal.crud.DataHandler.query(DataHandler.java:139)
at org.litepal.crud.QueryHandler.onFindAll(QueryHandler.java:123)
at org.litepal.Operator.findAll(Operator.java:1117)
at org.litepal.Operator$9.run(Operator.java:1138)
at java.lang.Thread.run(Thread.java:784)
后面也将litepal导入最新版本的还是会使程序闪退,上网找了原因,但没找着。。。。。说是什么setClass之类的问题,但怎么排查都找不到。后来还是和静静一起写一下DEMO吧。写的DEMO没报错。看了一下两个实体类有什么不一样。
原因我为了方便,将要保存的参数以构造方法的方式去存在到实体类中。因为建立了构造方法,而空的构造方法就会自动 再体现的了。后面在相应的实体类建立一个空的构造方法就没报错了。。记下自己下次不再犯了。