欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

GreenDao数据库的简单使用

程序员文章站 2024-03-21 10:00:46
...

1.依赖

//GreenDao
    implementation 'org.greenrobot:greendao:3.2.2'
    implementation 'org.greenrobot:greendao-generator:3.2.2'

2.在根build.gradle中加入如下代码

buildscript {
    repositories {
        jcenter()
        mavenCentral() // 加入这句
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.1'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // 加入这句
    }
}

3.在你创建的项目build.gradle(app/build.gradle)下添加:

apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao' // 加入这句

greendao {
        schemaVersion 1
        daoPackage 'zjm.com.moni1.gen' //改成自己的包名
        targetGenDir 'src/main/java'
    }

4.自定义一个Bean类,用GreenDao举例子 , 一定要记得注解@Entity
@Entity
public class GreenDao {

   @Id
    private Long id;
    private String imgurl;//图片地址
    private String title;//标题文字

}

5.编译项目,GreenDao实体类会自动编译,生成get、set方法并且会在zjm.com.moni1.gen目录下生成三个文件;

获取UserDao对象:

        mDao = DaoMaster.newDevSession( getBaseContext(), GreenDaoDao.TABLENAME ).getGreenDaoDao();

//数据源添加到数据库

///数据源添加到数据库
                for (int i = 0; i <beanList.size() ; i++) {
                    ZhanShi_Bean.DataBean dataBean = beanList.get( i );
                    daoList.add( new GreenDao( (long) i,dataBean.getThumbnail_pic_s(),dataBean.getTitle() ) );
                }
                for (int i = 0; i < daoList.size(); i++) {
                    GreenDao daoBean = daoList.get( i );
                    mDao.insertOrReplace(daoBean);
                }

查询数据库

//无网状态
            Toast.makeText( MainActivity.this, "请检查当前的网络状态是否正常!", Toast.LENGTH_SHORT ).show();
            //查询数据库
            List<GreenDao> all = mDao.loadAll();
            //给rv设置布局管理器
            LinearLayoutManager layoutManager1 = new LinearLayoutManager( MainActivity.this, LinearLayoutManager.VERTICAL, false );
            rv.setLayoutManager( layoutManager1 );
            RvwwAdapter rvAdapter1 = new RvwwAdapter( R.layout.item_rv, all );
            rv.setAdapter( rvAdapter1 );