在我的应用程序启动时,我启用了数据持久性:
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) {
}
});
谢谢。
答案 0 :(得分:0)
目前无法知道Firebase数据库是否提供来自本地缓存或服务器的数据。如果你附上一个听众,就像你上面一样:数据通常会与服务器同步,除非你没有连接(你可以通过监听来检测一个案例 - 就像你已经 - .info/connected
)
通常最好以不需要数据新鲜度知识的方式使用数据库。因此,请将数据视为"您应用知道的最新数据"。