检查Firebase同步队列

时间:2016-05-28 16:25:06

标签: android firebase firebase-realtime-database

我目前正在测试新的firebase,了解我们如何有效地脱机处理数据库。对于数据库联机脱机状态,我们有.info/connected路径来检查数据库当前是否已连接。我可以使用以下代码更改状态:

mDbStatusRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot snapshot) {
                Boolean connected = snapshot.getValue(Boolean.class);
                mDbStatus.setText(String.valueOf(connected).toUpperCase());
                if (!connected)
                    mDbStatus.setTextColor(getResources().getColor(android.R.color.holo_red_light));
                else
                    mDbStatus.setTextColor(getResources().getColor(android.R.color.holo_green_dark));
            }

            @Override
            public void onCancelled(DatabaseError error) {
                System.err.println("Listener was cancelled");
            }
        });

有什么方法可以确定本地客户端上的数据库(缓存是你所调用的)是否完全同步?就像远程缓存中是否有待处理的写入队列一样?

或者我可以确定所有内容都已同步的任何替代/黑客攻击,并且可以安全地关闭连接。每次应用程序启动时同步都会很有用,一旦所有内容同步,就会关闭连接。或者在需要实时同步时保持连接打开,并在用户完成后关闭它并且所有内容都与服务器同步。以及许多其他类似的用例。

0 个答案:

没有答案