GreenDao
Android开发数据库的第三方框架,据说效率高,不过比原生升级方便多了。写给自己以后方便查看,共享给大家一起学习使用。
1、工程build.gradle下
buildscript {
repositories {
maven {
url 'https://maven.google.com' }
jcenter()
google()
mavenCentral()//***GreenDao需要增加
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'//***GreenDao需要增加
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
2、moudle里的build.gradle
android {
..............
// In your app projects build.gradle file:
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'
greendao {
schemaVersion 1 //版本号
daoPackage 'com.study.test.testapplication.db' //包名+dbName
targetGenDir 'src/main/java' //db路径
}
}
dependencies {
......
implementation 'org.greenrobot:greendao:3.2.2'
}
3、项目同步下,重新BUILD一遍
4、MyApplication 初始化
public class MyApplication extends Application {
private DaoMaster.DevOpenHelper mHelper;
private SQLiteDatabase db;
private DaoMaster mDaoMaster;
private DaoSession mDaoSession;
public static MyApplication instances;
@Override
public void onCreate() {
super.onCreate();
instances = this;
setDatabase();
}
/**
* 单例模式
*
* @return
*/
public static MyApplication getInstances() {
return instances;
}
/**
* 设置greenDao
*/
private void setDatabase() {
// 通过 DaoMaster 的内部类 DevOpenHelper,你可以得到一个便利的 SQLiteOpenHelper 对象。
// 可能你已经注意到了,你并不需要去编写「CREATE TABLE」这样的 SQL 语句,因为 greenDAO 已经帮你做了。
// 注意:默认的 DaoMaster.DevOpenHelper 会在数据库升级时,删除所有的表,意味着这将导致数据的丢失。
// 所以,在正式的项目中,你还应该做一层封装,来实现数据库的安全升级。
mHelper = new DaoMaster.DevOpenHelper(this, "test-db", null);
db = mHelper.getWritableDatabase();
// 注意:该数据库连接属于 DaoMaster,所以多个 Session 指的是相同的数据库连接。
mDaoMaster = new DaoMaster