首先是GreenDao较早之前的用法;
本片只是将配置
注:详细的请看GreenDao的简单使用说明(一)android studio中引入GreenDao
1.去github上https://github.com/SureCase/GreenDaoForAndroidStudio下载下来,得到其中的MyDaoGenerator,需要作为Module;
2.在/app/src/main/下新建与Java同级的Java-gen的Package;
3.在app的build.gradle的android{}下放置如下代码:
sourceSets {
main {
java.srcDirs = [‘src/main/java’, ‘src/main/java-gen’]
}
}
4.加入dependencies {
compile ‘de.greenrobot:greendao:1.3.7’
}
5.将下载压缩得到的MyDaoGenerator加入到工程中;
6.修改MyDaoGenerator下的build.gradle:
将原来的outputDir内容换成一下,再加上def
def outputDir = “../app/src/main/java-gen”
7.打开MyDaoGenerator的class:MyDaoGenerator,修改成自己的代码;
//这句话意思是:第一个参数的数据库版本号;第二个是所生成的DaoMaster、 DaoSession、User、UserDao所在位置
Schema schema = new Schema(6, "greendao");
//创建User一张表;
Entity box = schema.addEntity("User");
box.addIdProperty();
box.addStringProperty("name");
box.addIntProperty("age");
box.addStringProperty("sheng");
box.addStringProperty("count");
box.addStringProperty("woai");
box.addStringProperty("haha");
box.addStringProperty("description");
//创建User1一张表
Entity box1= schema.addEntity("User1");
box1.implementsSerializable();
box1.addIdProperty();
box1.addStringProperty("name");
box1.addIntProperty("className");
box1.addStringProperty("description");
//不管创建几张表只能有下面一句话
new DaoGenerator().generateAll(schema, args[0]);
8.点击下面的run生成DaoMaster、 DaoSession、User、UserDao
9.结构如图:
接下来就是操作数据和初始化了;
1.开始创建数据库;
DaoMaster.DevOpenHelper这个类就是数据库创建类,但是为了以后的升级需要自定义的;
public class CustomDe extends DaoMaster.DevOpenHelper {
public CustomDe(Context context, String name, SQLiteDatabase.CursorFactory factory) {
super(context, name, factory);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
switch (oldVersion){
case 5:
Log.d("自定义打印说明", "onUpgrade(): " + "5");
db.execSQL("ALTER TABLE USER ADD \"HAHA\" TEXT");
break;
}
}
}
2.在Application中去初始化,得到daoSession;
if (daoSession == null) {
if (daoMaster == null) {
DaoMaster.DevOpenHelper myFristDb = new CustomDe(context, "myFristDb", null);
daoMaster = new DaoMaster(myFristDb.getWritableDatabase());
}
daoSession = daoMaster.newSession();
}
return daoSession;
3.创建 数据库服务类 方便数据库的操作,并的到userDao,使用其来操作数据库;
usersDao = daoSession.getUserDao();
//查询所有的:
public List<User> loadAllUsers() {
List<User> users = usersDao.loadAll();
return users;
}
//插入并返回结果:
public List<User> insert(User users){
usersDao.insert(users);
return loadAllUsers();
}
GreenDao3.0之后的配置;
形式上的区别是使用了 注解
具体详细请看:玩转Android之数据库框架greenDAO3.0使用指南
1.在github:https://github.com/greenrobot/greenDAO;
详细的配置如下:
我是用的是Android studio;
1.在整个工程下build.gradle添加一下代码:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0'
}
}
2.在app的build.gradle下面添加代码:
apply plugin: 'org.greenrobot.greendao'
dependencies {
compile 'org.greenrobot:greendao:3.2.0'
}
最值得注意的是下面一段代码;就是数据库的版本什么的;放置的位置一定是dependencies{}下方(不是里面)。反正我的在其他位置sysn时,一直报错
greendao {
schemaVersion 1//版本
targetGenDir 'src/main/java'
daoPackage 'com.a7758.gao.greendaoseconddemo.greenDaoMS'//DaoMaster、 DaoSession、UserDao的位置
}
3.build栏里的Make ProProject一下生成: