随着LitePal更新到3.0,第一次使用感觉很慌,碰到了很多问题不过所幸都解决了。以下是各问题解决的方法:
一、关于创建的问题
首先我们在GitHub找到他的官网LitePal官网 中找到最后的使用文档,在app包下的build.gradle中的dependencies依赖添加implementation 'org.litepal.android:java:3.0.0'。这是java所添加的如果是kotlin自行看说明文档。
然后需要在app/src/main包下创建assets文件,在assets文件下创建new-->file,将文件命名为litepal.xml,不然会出现
Caused by: org.litepal.exceptions.InvalidAttributesException: dbname is empty or not defined in litepal.xml file, or your litepal.xml file is missing.
这很尴尬的错误,提示找不到该文件。
然后需要在该文件下创建相应的配置文件
<?xml version="1.0" encoding="utf-8"?> <litepal> //数据库名 <dbname value="demo" /> //数据库版本 <version value="1" /> //相应的Java文件这个下文会提到,Litepal会根据内容创建相应的对象 <list> <mapping class= "com.xxxx.xxxx.xxxx"/> </list> //这个只有两个属性可选,external和internal,其中external是在外部内存中创建相应的文件,地址如下/storage/emulated/0/xiaoxiao/database。这个需要在manifest申明权限WRITE_EXTERNAL_STORAGE,而internal则会在默认包下创建相应的包com.xxxx.xxxx.database. <storage value="xiaoxiao/database" /> </litepal>
然后就是在manifest 的 <application 标签下添加 android:name = "org.litepal.LitePalApplication"或者oncreat()方法中写入LitePal.initialize(this); 然后就可以创建类了。添加私有属性并创建getter,setter方法方便日后的赋值。
二、其他问题
这个还没有遇到,遇到了再加吧。