GreenDao多版本的用法

首先是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一下生成:
生成的位置及类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值