【问题标题】:Firebase Offline Database Data is Cleared when i restart Mobile Device or This android/firebase App ?*当我重新启动移动设备或此 android/firebase 应用程序时,Firebase 离线数据库数据被清除?*
【发布时间】:2016-12-08 06:25:35
【问题描述】:

我将此代码用于离线并使用 firebase 同步 android 应用程序中的数据。 当我重新启动移动设备或此 android/firebase 应用程序时,Firebase 离线数据库数据被清除?

    DatabaseReference scoresRef = FirebaseDatabase.getInstance().getReference("scores");
    scoresRef.keepSynced(true);

    final FirebaseDatabase database = FirebaseDatabase.getInstance();
    final DatabaseReference myConnectionsRef = database.getReference("users/joe/connections");

// 存储我上次断开连接的时间戳(上次我在网上看到的时间) final DatabaseReference lastOnlineRef = database.getReference("/users/joe/lastOnline");

    final DatabaseReference connectedRef = database.getReference(".info/connected");
    connectedRef.addValueEventListener(new ValueEventListener() {



        @Override
        public void onDataChange(DataSnapshot snapshot) {
            boolean connected = snapshot.getValue(Boolean.class);
            if (connected) {

                // add this device to my connections list
                // this value could contain info about the device or a timestamp too
                DatabaseReference con = myConnectionsRef.push();
                con.setValue(Boolean.TRUE);

                // when this device disconnects, remove it
                con.onDisconnect().removeValue();

                // when I disconnect, update the last time I was seen online
                lastOnlineRef.onDisconnect().setValue(ServerValue.TIMESTAMP);


            }
        }

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

【问题讨论】:

标签: synchronization firebase-realtime-database


【解决方案1】:

***********在mFirebaseDatabase.getReference()*********之前写这段代码

     mFirebaseDatabase = FirebaseDatabase.getInstance();

    // Fire up data persistence to work offline.
    // It's used once in app (not in each activity).
    try {
        mFirebaseDatabase.setPersistenceEnabled(true);
    } catch (DatabaseException e) {
        // Do anything
    }

【讨论】:

    猜你喜欢
    • 2016-11-26
    • 2019-10-27
    • 2016-10-21
    • 2021-05-10
    • 2017-03-26
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    相关资源
    最近更新 更多