Android Greendao3.0简单配置使用和查看数据方式chrome://inspect/#devices

         记录一下,配置greendao的采坑过程,网上很多教程,使用的方式也大不同,但是生成实体类的配置是一样的,更多的是在封装这一个太多方法了,配置起来每个人的方式不一,导致浪费了很多时间,都没有搞好,最后总结了一些,下面的干净的配置和测试过程 。不得不说比sqlite的原始配置过程简单很多,而且避免语法的正规的一些问题。当然greendao只是个框架,也是基于sqlite。

第一步,引用依赖库:

//greendao数据库
    implementation 'org.greenrobot:greendao:3.2.2'

第二步,app-build.gradle添加

 //greendao配置
    greendao {
        //数据库版本号,升级时进行修改
        schemaVersion 1
        //生成的DAO,DaoMaster和DaoSession的包名。 
        // 默认是实体的包名
        daoPackage 'com.example.xxxxx.greendao_db' 
        //生成源文件的路径。默认源文件目录是在build目录中的(build/generated/source/greendao)
        targetGenDir 'src/main/java' 
          
    }

第三步,创建一个实体类,添加相关的注解 ,以及自增id 的Long 的(正确)写法 ,long是不能自增的,会报错。

确定没问题之后,build 一下。就会自动生成相关的文件了。 

第四步,在Application里初始化greendao数据库:

    private static DaoSession mDaoSession;

第五步,编写一个封装的方法,方便使用增删改查,当然我这里只写了增加的,没有其他的。

public class RfidSqliteUtil {

    /**
     * DaoSession
     */
    private static DaoSession mDaoSession;

    /**
     * 获取单例
     */
    public static DaoSession getInstance() {
        if (mDaoSession == null) {
            mDaoSession = CliectApp.getmDaoSession();
        }
        return mDaoSession;
    }

       /**
     * 查看数据库的所有数据
     */
    public static List<Rfidcardtable> load_all() {
        List<Rfidcardtable> rfidcardtableList = null;
        try {
            rfidcardtableList = getInstance().getRfidcardtableDao().queryBuilder().list();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return rfidcardtableList;
    }

    /**
     * 插入一条epc不相同的数据
     */
    public static void instear_ordid(String epc, String rssi) {
        List<Rfidcardtable> rfidcardtableList = null;

        try {
            rfidcardtableList = getInstance().getRfidcardtableDao().queryBuilder().where(RfidcardtableDao.Properties.Epc.eq(epc)).list();
            if (rfidcardtableList.isEmpty()) {
                getInstance().getRfidcardtableDao().insert(new Rfidcardtable(null, epc, rssi, "false", null));

            } else {
                ViseLog.i("找到相同的数据" + rfidcardtableList.get(0).getId());
                Rfidcardtable rfidcardtable = new Rfidcardtable(rfidcardtableList.get(0).getId(), epc, rssi, "false", null);
                getInstance().getRfidcardtableDao().update(rfidcardtable);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 查看指定的epc
     */
    public static List<Rfidcardtable> find_epc(String epc) {
        List<Rfidcardtable> rfidcardtableList = null;
        try {
            rfidcardtableList = getInstance().getRfidcardtableDao().queryBuilder().where(RfidcardtableDao.Properties.Epc.eq(epc)).list();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return rfidcardtableList;
    }

    /**
     * 更新一条数据数据
     */
    public static void updata_epc(Rfidcardtable rfidcardtable) {
        try {
            getInstance().getRfidcardtableDao().update(rfidcardtable);
            ViseLog.i("更新了");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 删除指定的数据
     */

    public static void delete_epc(String epc) {
        try {
            getInstance().getRfidcardtableDao().queryBuilder().where(RfidcardtableDao.Properties.Epc.eq(epc)).buildDelete().executeDeleteWithoutDetachingEntities();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }


}

 这里是我调用增加数据 的方法

没有保存,就可以找到自己的文件,导出来

用数据库工具(Nacicat for SQLite)查看

当然我这边也是用另一种方式查看,但是这边要用(fanqiang)才行 ,打开谷歌浏览器输入:

1.配置依赖项:

  //测试数据库查看
    implementation'com.facebook.stetho:stetho:1.5.0'
    implementation'com.facebook.stetho:stetho-okhttp3:1.5.0'

2.主Appcation,初始化:

  Stetho.initializeWithDefaults(this);

3. 谷歌浏览器输入:

chrome://inspect/#devices

  当前这里配置还有其他的问题,可以参考这边大佬的文章:

             Chrome:inspect查看android数据库常用的几种配置方法、chrome://inspect调试工具离线包_合抱之木,生于毫末,九层之台,起于累土的博客-CSDN博客_离线开发者调试工具包

以及其他的更改查询删除的操作也可以参考一下文章的写法和使用:

             Android实战——GreenDao3.2的使用,爱不释手_qq_36931648的博客-CSDN博客

  我这边是只保存了两条数据。

还有其他greendao的操作,后续会慢慢的记录更新。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值