1导依赖库
implementation 'org.greenrobot:greendao:3.2.2'
implementation 'org.greenrobot:greendao-generator:3.2.2'
2配置
build.gradle注意是project
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
3在build.gradle注意是Module:app
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.day03_lx"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
greendao {
schemaVersion 1 //版本
daoPackage '包名.greendao' // 一般为app包名+生成文件的文件夹名
targetGenDir 'src/main/java' //生成文件路径
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'org.greenrobot:greendao:3.2.2'
implementation 'org.greenrobot:greendao-generator:3.2.2'
}
写一个bean类
@Entity
public class User {
@Id(autoincrement = true)
private long id; private String name; private String sex; private String age; }
在Activity中
//得到数据表(userinfo)的daosession
DaoSession daoSession = DaoMaster.newDevSession(this,UserInfoDao.TABLENAME);
//得到dao对象进行操作
UserInfoDao userInfoDao = daoSession.getUserInfoDao();
userInfoDao.insertOrReplace(userInfo);//传入的对象在数据库中,有则更新无则插入
// userInfoDao.insert(userInfo);//不管有没有都会插入,如果id重复则报错
// userInfoDao.save(userInfo);//数据库自动回生成一个key,如果有这个key则插入
// userInfoDao.delete(userInfo);//删
// userInfoDao.update(userInfo);//改
// userInfoDao.loadAll();//查全部