美文网首页Android知识
GreenDao数据库简单使用

GreenDao数据库简单使用

作者: Yukoyuan | 来源:发表于2017-04-20 11:24 被阅读0次

    第一步:

    你需要创建一个java_module如下图所示:
    
    这里写图片描述

    第二步:

    java_module的gralde需要引用 compile 'de.greenrobot:greendao-generator:2.0.0'
    
    这里写图片描述

    第三步:

    android项目的gradle需要引用 compile 'de.greenrobot:greendao:2.0.0'
    
    这里写图片描述

    第四步

    java工程创建main方法
    
    package com.example;
    
    import de.greenrobot.daogenerator.DaoGenerator;
    import de.greenrobot.daogenerator.Entity;
    import de.greenrobot.daogenerator.Schema;
    
    public class greendao {
        /**
         *     文件生成路径
         */
        private static String srcDir = "../app/src/main/java/com/example/yukuo/greendaodemo";
        public static final int version = 1;
    
        public static void main(String[] args) {
            /**
             * 第一个参数是数据库的版本
             * 第二个参数是数据库文件生成的目录
             */
            Schema schema = new Schema(version, "daomodule");
            //添加user表
            addUser(schema);
            try {
                //生成文件
                new DaoGenerator().generateAll(schema, srcDir);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        private static void addUser(Schema schema) {
            //得到一个实体
            Entity user = schema.addEntity("User");
            //自定义表的名字
            user.setTableName("testuser");
            //设置字增加id字段
            user.addIdProperty();
            //增加一个不能为空的名字属性
            user.addStringProperty("name").notNull();
            user.addStringProperty("phone");
            user.addStringProperty("email");
        }
    }
    
    

    第五步

    运行java工程,自动生成需要的文件
    
    这里写图片描述

    第六步:

    进行我们的增删改查的操作了
    效果图
    
    这里写图片描述

    代码:

    package com.example.yukuo.greendaodemo;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.TextView;
    
    import com.example.yukuo.greendaodemo.daomodule.DaoPresenter;
    import com.example.yukuo.greendaodemo.daomodule.User;
    
    import java.util.List;
    
    import butterknife.Bind;
    import butterknife.ButterKnife;
    import butterknife.OnClick;
    
    public class MainActivity extends AppCompatActivity {
    
        @Bind(R.id.tv_output)
        TextView tvOutput;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ButterKnife.bind(this);
        }
    
        @OnClick({R.id.bt_add, R.id.bt_delete, R.id.bt_updata, R.id.bt_query})
        public void onClick(View view) {
            switch (view.getId()) {
                case R.id.bt_add:
                    User user = new User(null, "yukuoyuan", "13852421254", "14545454");
                    DaoPresenter.getInstance(this).getSession().getUserDao().insert(user);
                    break;
                case R.id.bt_delete:
                    DaoPresenter.getInstance(this).getSession().getUserDao().deleteByKey(1l);
                    break;
                case R.id.bt_updata:
                    User user2 = new User(2l, "我说你", "1211212", "14545454");
                    DaoPresenter.getInstance(this).getSession().getUserDao().update(user2);
                    break;
                case R.id.bt_query:
                    List<User> lsit = DaoPresenter.getInstance(this).getSession().getUserDao().queryBuilder().list();
                    tvOutput.setText("");
                    for (User user3 : lsit) {
                        tvOutput.append(user3.getName() + "**" + user3.getId() + "**" + user3.getPhone() + "**" + user3.getEmail() + "\n");
                    }
                    break;
            }
        }
    }
    
    

    好了有什么不明白的或者问题,请留言给我吧.我会尽快回复你的亲

    相关文章

      网友评论

        本文标题:GreenDao数据库简单使用

        本文链接:https://www.haomeiwen.com/subject/pgakzttx.html