LitePal使用踩坑指南
阿新 • • 發佈:2018-12-16
隨著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方法方便日後的賦值。
二、其他問題
這個還沒有遇到,遇到了再加吧。