1.先配置项目的builder.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
} allprojects {
repositories {
google()
jcenter()
}
} task clean(type: Delete) {
delete rootProject.buildDir
}
2.配置module.app的builder.gradle
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'
android {
compileSdkVersion
defaultConfig {
applicationId "com.lingdangmao.demo_zidingyi_textview"
minSdkVersion
targetSdkVersion
versionCode
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
} dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' //greendao
api 'org.greenrobot:greendao:3.0.1'
api 'org.greenrobot:greendao-generator:3.0.0'
}
greendao {
schemaVersion
daoPackage 'com.anye.greendao.gen'
targetGenDir 'src/main/java'
}
3.创建一个用户的实例类,创建完之后,编译一下,会自动生成文件
@Entity
public class User {
@Id
private Long id;
private String name;
}
4.编写myapplication类继承application
public class MyApplication extends Application {
private DaoMaster.DevOpenHelper mHelper;
private SQLiteDatabase db;
private DaoMaster mDaoMaster;
private DaoSession mDaoSession;
public static MyApplication instance; public static MyApplication getInstance(){
return instance;
} @Override
public void onCreate() {
super.onCreate();
instance =this;
setDataBase();
}
private void setDataBase(){
mHelper = new DaoMaster.DevOpenHelper(this, "notes-db", null);
db = mHelper.getWritableDatabase();
// 注意:该数据库连接属于 DaoMaster,所以多个 Session 指的是相同的数据库连接。
mDaoMaster = new DaoMaster(db);
mDaoSession = mDaoMaster.newSession(); } public DaoSession getmDaoSession() {
return mDaoSession;
} public SQLiteDatabase getDb() {
return db;
}
}
5.在activity中操作
//根据条件查询
UserDao mUserdao = MyApplication.getInstance().getmDaoSession().getUserDao();
Query<User> query = mUserdao.queryBuilder().where(UserDao.Properties.Id.eq()).build();
User u= query.unique(); //没有就是null
Log.d(TAG, "onCreate11: "+u);
Log.d(TAG, "onCreate11: "+u.getId());
Log.d(TAG, "onCreate11: "+u.getName()); //添加
User mUser=new User((long),"mike");
//mUserdao.insert(mUser); //删除
//long id= 2;
//mUserdao.deleteByKey(id); //改
mUser = new User((long),"anye0803");
mUserdao.update(mUser); //查询
List<User> users = mUserdao.loadAll();
for(int i=;i<users.size();i++){
Log.d(TAG, "onCreate: "+users.get(i).getId());
Log.d(TAG, "onCreate: 1"+users.get(i).getName());
}
完成,上面是最基本的,实际开发中用到再看