过去几天我一直在使用Firebase实时数据库,而且似乎在某些设备上,例如三星,Honor 6x它需要花费大量时间连接到Firebase实时数据库。使用与Nexus,Red Mi等设备相同的代码,HTC Firebase Realtime Databse可以立即连接相同的网络带宽。
示例代码在这里
Pruduct product = new Product(1,"Test");
FirebaseDatabase.getInstance().getReference("product").child("test-123").setValue("product");
我也通过以下代码检查连接状态
DatabaseReference connectedRef = FirebaseDatabase.getInstance().getReference(".info/connected");
connectedRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
boolean connected = snapshot.getValue(Boolean.class);
if (connected) {
System.out.println("firebase connected");
} else {
System.out.println("firebase not connected");
}
}
@Override
public void onCancelled(DatabaseError error) {
System.err.println("firebase Listener was cancelled");
}
});
编辑 - 1
以下是FirebaseDatabase.getInstance().setLogLevel(Logger.Level.DEBUG);
启用时的日志。
D/RepoOperation: set: /test/test-193
D/DataOperation: set: /test/test-193 {
data=true
data1=22.99
data2=72.49
data3=1515128372
}
D/Connection: conn_0 - Sending data: {d={a=p, r=24, b={d={data1=22.99, data3=1515128372, data2=72.49, data=true}, p=test/test-193}}, t=d}
D/WebSocket: ws_0 - Reset keepAlive. Remaining: 33317
D/RepoOperation: Aborting transactions for path: /test/test-193. Affected: /test/test-193