objectbox数据库

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nadiee/article/details/89245862

总结下objectbox数据库使用中遇到的坑

1.编译时xx类找不到,你必须先保证除了数据库相关代码之外的代码中没有错误,可以直接通过命令行执行看具体编译错误原因,最后rebuild下

2.objectbox-models别忘记提交版本管控,否则升级会崩溃

3.修改表结构记得加@Uid(4279138568760652606L),开发阶段自己决定是否添加,这充其量算个浅浅的坑

4.数据库监听,如果顺序操作表t1和t2,而你在某处监听了t1并做一些逻辑处理比如更新UI,那么不幸地告诉你,你已经掉进了又一个坑,你会发现偶尔没有监听到表t1变化,但是可以监听到t2变化,经过多次测试发现后操作的数据库可以被监听到,所以。。。,当然也可以用通知方式代替这种订阅方式

RxBoxStore.<xx>observable(DBManager.getInstance().getBoxStore()).debounce(200, TimeUnit.MILLISECONDS)
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(new Consumer<Class>() {
            @Override
            public void accept(Class aClass) throws Exception {
                if (aClass != null) {
                    LogUtils.tag("checkLoad").d("RxBoxStore changed aClass : " + aClass.getName());
                    if (aClass == xx.class) {
                        update();
                    }
                }
            }
        });

5.如果想更新所有记录的某个字段,没有便捷办法,查出来一个一个修改,如果有其他方法,请指教

生平不愿黑别人,老写坑,心里过意不去,写下优点吧

1.快

2.操作还算简单

3.多用户切换实现起来比较简单

那如果再给我一次机会还会选择objectbox吗,也许不会了,我想踩踩其他库的坑^^

猜你喜欢

转载自blog.csdn.net/nadiee/article/details/89245862