3
我正在使用Firebase開發新的Android應用(首次使用Firebase)。我選擇使用持久模式,因爲它更適合我的應用程序。
我的問題是,該應用程序不會同步數據到服務器,因此,其他設備,即使用於存儲數據的設備在線!Firebase持續模式永遠不會同步到服務器(Android)
代碼是好的(據我所知),如果我禁用持久模式,一切工作正常,但肯定我沒有設備上的緩存數據。
這種情況發生在不同的設備和仿真器上,奇怪的是有時設備會同步,然後再次停止同步,無緣無故!
我很欣賞這裏的任何建議。
代碼:
My App class:
//....
Firebase.setAndroidContext(this);
Firebase.getDefaultConfig().setPersistenceEnabled(true);
Firebase.getDefaultConfig().setLogLevel(Logger.Level.DEBUG);
//...
在發送消息類代碼:
//....
Firebase senderRef = new Firebase(MyApp.FirebaseURL).child("Messages").child(sender_Id);
senderRef.keepSynced(true);
senderRef.push().setValue(this, null);
//....
接收代碼:
//...
Firebase ref = new Firebase(MyApp.FirebaseURL).child("Messages").child(sender_Id);
Query query = ref.orderByKey();
query.limitToLast(MAX_CHAT_MESSAGES_TO_SHOW);
query.keepSynced(true);
query.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Log.d("Firebase", "Message Child Added");
Message message = dataSnapshot.getValue(Message.class);
mMessages.add(0, message);
mAdapter.notifyDataSetChanged();
}
//...
我遇到與iOS相同的問題。你有沒有解決這個問題? –
還不幸,我現在禁用了離線模式,但是我仍處於開發模式。 – Tamer