如何知道是否从本地存储或服务器存储中检索数据?

时间:2016-08-11 10:00:53

标签: java android firebase firebase-realtime-database

在我的应用程序启动时,我启用了数据持久性:

FirebaseDatabase.getInstance().setPersistenceEnabled(true);

例如,当我的设备处于脱机状态时,firebase会从本地存储中检索数据。

有没有办法知道是从本地存储还是服务器存储中检索数据? (没有测试我的网络状态)

mDatabase.child("users").child(userId).addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        // Know if data are retrieved from local storage or server storage
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
    }
});

谢谢。

1 个答案:

答案 0 :(得分:0)

目前无法知道Firebase数据库是否提供来自本地缓存或服务器的数据。如果你附上一个听众,就像你上面一样:数据通常会与服务器同步,除非你没有连接(你可以通过监听来检测一个案例 - 就像你已经 - .info/connected

通常最好以不需要数据新鲜度知识的方式使用数据库。因此,请将数据视为"您应用知道的最新数据"。