GreenDao缓存从网络上请求的数据

本文介绍了如何利用GreenDao库来缓存从网络获取的数据。首先,添加GreenDao依赖,接着创建Bean类,编译项目生成对应的数据库类。在数据请求成功后,将数据保存到数据库,并说明了如何查看数据库中的数据。

依赖

//根gradle
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
//app gradle
apply plugin: 'org.greenrobot.greendao'
greendao {
    schemaVersion 1 //数据库版本号
    daoPackage '包名.database' //设置时生成代码的目录
    targetGenDir 'src/main/java' //设置DaoMaster、DaoSession、Dao目录
}
dependencies {
   implementation 'org.greenrobot:greendao:3.2.2'//依赖
}

第二步:再创建一个Bean类

@Entity--------//①实体类
public class ShowBeanEntity {-----//创建的另一个bean类

    @Id(autoincrement = true)-------//定义id  设置自增
    private Long id;-----//注意:Long类型(大写的L)!
    public String imageUrl;//这个imageURL和name属性是你要缓存的数据类型
    public String name;

第三步:重新编译(点击锤子)
第四步:点击完锤子之后,生成了一个dataBase包里面有三个直接生成的类,
然后还有生成的bean数据(就是我上面刚刚创建的bean类)如下:

@Entity
public class ShowBeanEntity {

    @Id(autoincrement = true)
    private Long id;
    public String imageUrl;
    public String name;
    @Generated(hash = 1771059752)
    public ShowBeanEntity(Long id, String imageUrl, String name) {
        this.id = id;
        this.imageUrl = imageUrl;
        this.name = name;
    }
    @Generated(hash = 1309783909)
    public ShowBeanEntity() {
    }
    public Long getId() {
        return this.id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getImageUrl() {
        return this.imageUrl;
    }
    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }
    public String getName() {
        return this.name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

第五步:在数据请求成功的activity的成功方法中写入如下代码:

/**
     * 请求成功
     * @param
     */
    @Override
    public void Success(List<ShowBean.ResultBean> resultBeans) {
       
        DaoSession daoSession = DaoMaster.newDevSession(this,ShowBeanEntityDao.TABLENAME);
        ShowBeanEntityDao showBeanEntityDao = daoSession.getShowBeanEntityDao();
        for (int i = 0; i < resultBeans.size(); i++) {
            showBeanEntityDao.insertOrReplace(new ShowBeanEntity(null,resultBeans.get(i).imageUrl,resultBeans.get(i).name));
        }
        
        showAdapter = new ShowAdapter(this,resultBeans);
        rcv.setLayoutManager(new LinearLayoutManager(this));
        rcv.setAdapter(showAdapter);
    }

第六步:通过路径data—data路径找到项目的数据----右击save as…到桌面。
在这里插入图片描述
第七步:通过SQLite查看
在这里插入图片描述
over~~~~~~~~~~~~~~~~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值