GreenDao环境搭建

环境的配置
Eclipse几乎不用了在这里我们着重介绍Android studio的配置以及基本使用
green dao的优势我这里就不再介绍想看的同学可以查看它的官网链接如下

green dao官网

1.首先需要配置我们的工程的gradle
代码如下:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0'//这里是我们要添加的greendao的插件
    }
}

配置完成工程的gradle之后我们需要处理我们的model的gradle
2.配置model的gradle
代码如下:

//1.引入插件
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'//这里我们需要引入green dao的插件
//2.引入工程依赖
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'org.greenrobot:greendao:3.2.0'//这里是我们添加的greendao的依赖
}

到了这里我们的工程就具备了greendao的环境依赖
3.接下来我们就像一般的程序配置一样配置我们的application
代码如下(这个配置可有可无主要是为了获取application的context)

public class MyApplication extends Application {
    static Context context;
    @Override
    public void onCreate() {
        super.onCreate();
        context = getApplicationContext();
    }
    public static Context getAppContext() {
        return context;
    }
}

4.接下来我的处理是写一个manager让所有的应用到greendao的地方都通过一个daoSession控制
配置如下

public class MarsKangDbManager {
    private static DaoSession daoSession;

    private static DaoSession setUpDateBase() {
        DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(MyApplication.getAppContext(), "MARSKANG.db", null);
        DaoMaster daoMaster = new DaoMaster(devOpenHelper.getWritableDb());
        return daoMaster.newSession();
    }

    public static DaoSession getDataBaseInstance() {
        if (daoSession == null) {
            daoSession = setUpDateBase();
        }
        return daoSession;
    }
}

通过上个单例我们就获得了一个公共的daoSession这样的话当我们需要数据库升级的时候就不必配置N多个调用的地方了。
5.有了工程依赖有了工具类接下来我们需要创建实体类也是十分简单的
一个简单的实体类如下

@Entity(nameInDb = "USER")
public class User {
    @NotNull
    @Id(autoincrement = true)
    private long id;
    @NotNull
    @Property(nameInDb = "USER_NAME")
    private String userName;
    @NotNull
    @Property(nameInDb = "PASS_WORD")
    private String passWord;
    @NotNull
    @Property(nameInDb = "USER_POWER")
    private String userPower;
    }

到了这里我们介绍下这些注解的意思
@Entity 代表实体类意思是我们要创建数据库后面的(nameInDb = “USER”)代表我们给这个数据库表起名字为USER
@NotNull代表这一列是非空列在保存过程中不能将null值插入到这一列中去
@Property(nameInDb = “PASS_WORD”) 这个代表要创建的这一列是数据库的列同时它的列名是PASS_WORD

注解写到这里就算写完了接下来我们要做的事情就是根据官方的说法点击下面图片的小绿箭头运行程序
studio界面

接下来再看我们的实体类截图如下
截图
我们看画黑线的地方这些类是之前没有的当我们运行之后就生成了画黑线的3个类了之后我们再看看我们的User类这里贴上完成代码
代码如下

@Entity(nameInDb = "USER")
public class User {
    @NotNull
    @Id(autoincrement = true)
    private long id;
    @NotNull
    @Property(nameInDb = "USER_NAME")
    private String userName;
    @NotNull
    @Property(nameInDb = "PASS_WORD")
    private String passWord;
    @NotNull
    @Property(nameInDb = "USER_POWER")
    private String userPower;

    @Generated(hash = 1258220019)
    public User(long id, @NotNull String userName, @NotNull String passWord,
            @NotNull String userPower) {
        this.id = id;
        this.userName = userName;
        this.passWord = passWord;
        this.userPower = userPower;
    }

    @Generated(hash = 586692638)
    public User() {
    }

    public long getId() {
        return this.id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getUserName() {
        return this.userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassWord() {
        return this.passWord;
    }

    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }

    public String getUserPower() {
        return this.userPower;
    }

    public void setUserPower(String userPower) {
        this.userPower = userPower;
    }
}

我们可以看到greendao给我们不仅创建了构造方法还创建了getter以及setter方法既然greendao已经替我们做了这么多工作了那接下来我们需要处理的应该就不多了。
6.那接下来我们看看配置后的使用

 private void init() {
        UserDao dao = MarsKangDbManager.getDataBaseInstance().getUserDao();
        User user = new User(1, "abc", "123", "001");
        dao.insert(user);
    }

我们只需要从我们的manager中获取DaoSession 在调用getUserDao方法就实例化完我们的dao对象之后我们创建user对象当对向值都赋完之后调用一个insert方法就完成了我们的录入操作。
在接下来的章节中我们会介绍greendao的基础使用以及高级使用我们的基础环境配置就介绍到这里了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值