Jvm 未完成从未调用
Nest Firebase实现的工作方式似乎与演示Firebase数据库不同。特别是,使用JVM客户机,永远不会调用我的完成侦听器。我找到了一些功能正常工作的示例代码:Jvm 未完成从未调用,jvm,firebase,nest-api,Jvm,Firebase,Nest Api,Nest Firebase实现的工作方式似乎与演示Firebase数据库不同。特别是,使用JVM客户机,永远不会调用我的完成侦听器。我找到了一些功能正常工作的示例代码: public class Demo { static Firebase ref; public static void main(String[] args) throws Exception { ref = new Firebase("https://testjava.firebaseio-d
public class Demo {
static Firebase ref;
public static void main(String[] args) throws Exception {
ref = new Firebase("https://testjava.firebaseio-demo.com/");
ref.addValueEventListener(new Listener());
ref.setValue(new Date().toString(), new Firebase.CompletionListener() {
@Override
public void onComplete(FirebaseError firebaseError, Firebase firebase) {
System.out.println(System.currentTimeMillis() + " Done");
}
});
Thread.sleep(5000);
}
static class Listener implements ValueEventListener {
@Override
public void onCancelled(FirebaseError e) {}
@Override
public void onDataChange(DataSnapshot ds) {
System.out.println("*** Data change: " + ds.getValue());
}
}
}
针对嵌套API的类似代码不起作用
public class Demo2 {
static String path = "/devices/thermostats/zSTIETF037xWx7gRrVeQ2tsHz2-KbKez/name";
static Firebase ref;
public static void main(String[] args) throws Exception {
ref = new Firebase("wss://developer-api.nest.com");
ref.authWithCustomToken(authCode, null);
ref.addValueEventListener(new Listener());
ref.child(path).setValue("Hallway 3", new Firebase.CompletionListener() {
@Override
public void onComplete(FirebaseError firebaseError, Firebase firebase) {
System.out.println("onComplete");
}
});
Thread.sleep(5000);
}
static class Listener implements ValueEventListener {
@Override
public void onCancelled(FirebaseError e) {}
@Override
public void onDataChange(DataSnapshot ds) {
System.out.println("*** Data change: " + ds.getValue());
}
}
}
无论睡眠时间有多长,“完成”一词永远不会被写出来。此外,当检查路径时,该值未更改。为什么这样不行
请注意,当添加侦听器的代码被注释掉时,它确实起作用 另一个有趣的问题是,有时在模拟器UI中所做的更改并不适用。例如,如果我更改模式,它将在几秒钟后返回到以前的值。结果表明,这与向引用添加值事件侦听器有关。我已经更新了Demo2代码,以反映Firebase是否在线?网络打开了吗?是的,是的。另外一个有趣的问题是,有时在模拟器用户界面中所做的更改不起作用。例如,如果我更改模式,它将在几秒钟后返回到以前的值。结果表明,这与向引用添加值事件侦听器有关。我已经更新了Demo2代码,以反映Firebase是否在线?网络打开了吗?是的,是的。否则就会有错误。