一、先在项目中进行配置
1> 在项目的build的文件中添加,在dependencies里

classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0'

2>在module里的配置
在最上面添加

 apply plugin: 'org.greenrobot.greendao'

3>在Android中添加

greendao{        schemaVersion 1 //指定数据库schema版本号,迁移等操作会用到        //包名是活的这是变动的        daoPackage 'dao的包名,包名默认是entity所在的包' (改成自己的dao包路径)        targetGenDir 'src/main/java'//生成数据库文件的目录(不用改)    }

4>添加依赖

implementation 'org.greenrobot:greendao:3.2.2'

二、创建数据库

@Entitypublic class DataDao {    @Id(autoincrement = true)//添加注解,自增    private Long id;    private String name;//数据库中的一些字段    private String sex;    private int age;}

写完这些以后,使用锤子锤一下,锤完后就会自动创建三个类

三、创建一个类继承Application

public class MyApp extends Application {    private static DaoSession daoSession;    @Override    public void onCreate() {        super.onCreate();        initGreenDao();    }    private void initGreenDao() {        DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "Student");//上下文,数据库名        SQLiteDatabase writableDatabase = helper.getWritableDatabase();        DaoMaster master = new DaoMaster(writableDatabase);        daoSession = master.newSession();    }    public static DaoSession getDaoSession() {        return daoSession;    }}

记得要在清单文件中注册

四、Activity中的逻辑代码,简单的增删改查操作

public class MainActivity extends AppCompatActivity implements View.OnClickListener {    private Button send_insert;    private Button send_delete;    private Button send_update;    private Button send_select;    private TextView send_text;    private DataDaoDao dataDaoDao;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();        dataDaoDao = MyApp.getDaoSession().getDataDaoDao();    }    private void initView() {        send_insert = (Button) findViewById(R.id.send_insert);        send_delete = (Button) findViewById(R.id.send_delete);        send_update = (Button) findViewById(R.id.send_update);        send_select = (Button) findViewById(R.id.send_select);        send_text = (TextView) findViewById(R.id.send_text);        send_insert.setOnClickListener(this);        send_delete.setOnClickListener(this);        send_update.setOnClickListener(this);        send_select.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.send_insert:                insertSql();                break;            case R.id.send_delete:                deleteSql();                break;            case R.id.send_update:                updateSql();                break;            case R.id.send_select:                selectSql();                break;        }    }    //查询    private void selectSql() {        send_text.setText("");        List as = dataDaoDao.loadAll();//查询全部        send_text.setText(as.toString());    }    //修改    private void updateSql() {        DataDao load = dataDaoDao.load(1l);//根据id修改,因为id为long类型,所以是1l        load.setAge(66);        load.setName("李白");        load.setSex("男");        dataDaoDao.update(load);//修改    }    //删除    private void deleteSql() {        dataDaoDao.deleteByKey(1l);//删除同样是根据id        Toast.makeText(MainActivity.this, "删除成功", Toast.LENGTH_SHORT).show();    }    //添加    private void insertSql() {        DataDao a = new DataDao("杜甫", "男", 24);//添加时,先创建对象,写入参数,调用insert方法        long insert = dataDaoDao.insert(a);        if (insert > 0) {//当返回值大于0是,说明成功            Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();        }    }}

五、对应的xml布局文件

    

更多相关文章

  1. 使用Android(安卓)studio3.6的java api方式调用opencv
  2. Android列表实现单选、多选、全选、取消、删除
  3. android studio 教你修改Maven仓库地址为国内镜像
  4. 如何在Android系统中添加系统服务(以PowerManager为例)
  5. Android(安卓)编辑联系人,增、删、改代码
  6. android 9.0 访问http
  7. Android(安卓)为按键添加声音(转载)
  8. GreenDao的更新,不会使数据删除所导致重新创建新表的示例
  9. AS(android studio) 添加第三方库时报,Error: Failed to resolve:

随机推荐

  1. Mac自带Apache和Php
  2. 广场上的空间和空间有不同的意义吗?
  3. PHP学习笔记-00
  4. PHP trait 特性在 Laravel 中的使用个人
  5. PHP获取服务器端的相关信息
  6. IIS 8.5 伪静态去掉index.php thinkphp 3
  7. 如何使用Ajax或Jquery填充文本框中的值?
  8. PHP在PC端实现微信扫码支付模式二
  9. WS-Trust没有使用PHP进行身份验证
  10. 如果使用Select2 YII2选择第一个字段,请在