史上最简的LitePal使用秘诀

前言:

       前几天小编做项目遇到更新贼不爽的事,我们都知道保存调用save方法并添加一条数据,使用也是极其方便的,可是更新数据让我有点难受,当然更新问题,我们都知道更新数据一般都使用唯一id去更新,可是我们继承的LitePalSupport的getBaseObjId()并不是public的,也就导致了我们无法直接获取id,而我们的bean类继承了LitePalSupport让其最简单的更新方式就是通过update(long id)方法更新。 这让人实在难受,虽然也有其他方式可以做到更新,但是那样是不是嫌烦,作为一个比较“懒”的程序员是不能容忍的。所以小编用了一个小技巧,教你重写save方法,轻松获取id,废话不多说,上代码!

一、集成方式:

官方最新具体文档详见:https://github.com/LitePalFramework/LitePal

简单方式:

(1)

Java:

dependencies {
    implementation 'org.litepal.android:java:3.0.0'
}
Kotlin:

dependencies {
    implementation 'org.litepal.android:kotlin:3.0.0'
}

(2)配置:

配置litepal.xml放到assets文件夹下;具体配置如下:

<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <dbname value="data" ></dbname>
    <version value="1" ></version>
    <list>
        <mapping class="com.beans.PalBean"></mapping> //这是配置的数据表
    </list>
</litepal>

(3)bean类代码

package com.screen.recorder.video.sdhuir.utilsv;

import org.litepal.crud.LitePalSupport;

public class PalBean extends LitePalSupport {
    private long id;
    private String name;

    @Override
    public boolean save() {
        boolean s = super.save();//1先保存生成id
        setId(getBaseObjId());//2设置id
        update(getBaseObjId());//3更新数据,这样每次获取它的实例就能保证正确获取id了。
        return s;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

3.使用

(1)增加一条数据:

PalBean bean = new PalBean();
        bean.setName("小可爱");
        bean.save();

(2)更新数据:

PalBean bean = new PalBean();
        bean.setName("我是你的小可爱");
        bean.update(bean.getId());

(3)查找:

//单个查找
PalBean bean = LitePal.find(PalBean.class,1);
//查找所有
List<PalBean> list = LitePal.findAll(PalBean.class);

文章就写到这里了,如果能帮到你来点个收藏或转发,若想学习更多关于LitePal,欢迎交流学习!

猜你喜欢

转载自blog.csdn.net/houdada_/article/details/103220264