1. 程式人生 > >LitePal使用踩坑指南

LitePal使用踩坑指南

隨著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方法方便日後的賦值。

二、其他問題

這個還沒有遇到,遇到了再加吧。