首先在build.gradle中引入litepal的依賴
implementation 'org.litepal.android:core:2.0.0'
在AndroidMaifest.xml中的application里面加入以下代碼1:
android:name="org.litepal.LitePalApplication"
或者在MainActivity中的onCreate里面加入2:
LitePal.initialize(this);
以上的2種方法選其中一條即可,接下來在mian文件夾中加入asstes文件:
步驟:File -> New -> Folder -> Asstes Folder
創建好asstes后,我們就新建一個保本地數據的實體類,記得在改實體類中extends LitePalSupport.
最后在asstes里面創建litepal.xml,litepal中的代碼如下(注:MainEntity是我測試的實體類,放上你自己的實體類,記得在實體類extends LitePalSupport):
<?xml version="1.0" encoding="utf-8"?> <litepal> <!--本地數據庫名稱--> <dbname value="valueDb"/> <!--數據庫的版本號,每次創建新數據,版本號遞增--> <version value = "1"/> <list> <!--保存到本地數據的實體類路徑--> <mapping class = "com.example.testapp.MainEntity"/> </list> </litepal>
首先先實現查詢該類的全部數據的方法
List<MainEntity> entitiyList = LitePal.findAll(MainEntity.class);
然后實現針對性的查詢方法,名字為張三的全部數據:
List<MainEntity> nameList = LitePal.where("name = ?","張三").find(MainEntity.class);
模糊查詢,查詢名字中帶王字的全部數據:
List<MainEntity> nameList = LitePal.where("name like ?","%" + "王" + "%").find(MainEntity.class);
降序 desc 升序 asc方法查詢:
List<MainEntity> list = LitePal.order("price desc").find(MainEntity.class);
查詢價格30以上的數據:
List<MainEntity> list = LitePal.where("price > ?","30").find(MainEntity.class);
首先通過Id方法刪除單條數據:
LitePal.delete(MainEntity.class,2);
然后針對性的刪除,刪除名字為張三的數據:
LitePal.deleteAll(MainEntity.class,"name = ?" ,"張三");
最后可以通過模糊的方法刪除,刪除名字中帶小字的數據:
LitePal.deleteAll(MainEntity.class,"name like ?" , "%" + "小" + "%");
刪除價格小於10的數據:
LitePal.deleteAll(MainEntity.class,"price < ?","10");
通過id修改數據:
ContentValues values = new ContentValues(); values.put("name","王五"); LitePal.update(MainEntity.class,values,2);
針對性的修改,把名字為小米的全部數據改為王五:
ContentValues values = new ContentValues(); values.put("name","王五"); LitePal.updateAll(MainEntity.class,values,"name = ?","小米");
模糊方法修改,修改名字中帶王字的全部數據改為小米:
ContentValues values = new ContentValues(); values.put("name","王"); LitePal.updateAll(MainEntity.class,values,"name like ?","%" + "小米" + "%");
單條數據保存
MainEntity entity = new MainEntity(); entity.setName("小米"); entity.setDate(new Date().getTime()); //如果狀態為True數據保存成功,否則失敗 boolean status = entity.save();
保存一條集合數據
LitePal.saveAll(list);
怕以后忘記litepal的使用,就簡單的記錄了一下,也希望能幫助到觀看的你!