Android

GreenDao的简单使用

2019-06-12  本文已影响8人  12313凯皇

项目地址

一、引用

  1. 根目录build.gradle中添加配置:
buildscript {
    repositories {
        jcenter()
        mavenCentral() // add repository
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.1'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin
    }
}
  1. appbuild.gradle中添加配置:
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao' // apply plugin
 
greendao {
    schemaVersion 1 //数据库版本
    targetGenDir 'src/main/java' //指定生成代码的目录
    daoPackage 'com.yu.hu.cardtestproject.entity'//设置DaoMaster、DaoSession、Dao包名
}

dependencies {
    implementation 'org.greenrobot:greendao:3.2.2' // add library
}

二、使用

使用之前需要在Gradlebuild一下生成DaoMasterDaoSession
由于刚接触不久,先记录一下用到的注解吧:

//标注实体类  nameInDb 设置表名
@Entity(nameInDb = "tb_question")
//通过StringConverter来进行转换 存入数据表的数据类型为String
@Convert(converter = StringConverter.class, columnType = String.class)
public List<String> options = new ArrayList<>();
//StringConverter.java
public class StringConverter implements PropertyConverter<List<String>, String> {
    @Override
    public List<String> convertToEntityProperty(String databaseValue) {
        if (databaseValue == null) {
            return null;
        } else {
            return Arrays.asList(databaseValue.split(","));
        }
    }

    @Override
    public String convertToDatabaseValue(List<String> entityProperty) {
        if (entityProperty == null) {
            return null;
        } else {
            StringBuilder stringBuilder = new StringBuilder();
            for (String s : entityProperty) {
                stringBuilder.append(s).append(",");
            }
            return stringBuilder.toString();
        }
    }
}

推荐阅读一篇好文之Android数据库 GreenDao的使用完全解析

上一篇下一篇

猜你喜欢

热点阅读