Android LitePal的简单使用
首先在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的使用,就简单的记录了一下,也希望能帮助到观看的你!