正在构建一个桌面应用程序,我想使用直观的firebase API进行实时数据同步。我一直在网上搜索,但没有人指出要使用的Jars以及如何使用firebase应用程序进行配置。如果你能协助请给我一些步骤。我擅长以下步骤。我想为所有firebase操作创建一个帮助器类。
答案 0 :(得分:4)
在客户端计算机上使用admin SDK是有风险的,因为它具有数据库的管理权限。我已经通过创建一个WebEngine开发了一个工作,该WebEngine将读取一个只有firebase web脚本的html文件。
<!DOCTYPE html>
<html>`
<head>
<script src="https://www.gstatic.com/firebasejs/4.3.0/firebase.js"></script>
<title></title>
</head>
<body>
</body>
<script>
try {
var config = {
//firebase config here
};
firebase.initializeApp(config);
var data = firebase.database();
var ref = data.ref("/ref");
ref.on("value", function (snapshot) {
//pass snapshot to java
alert(JSON.stringify(snapshot.val()));
});
} catch (error) {
alert("Error - jse:" + error.message);
}
</script>
</html>
并在java中检索它
//Start new webengine to run javascript.
final WebEngine engine = new WebEngine();
//get my html file.
final URL url = NoficationTest.class.getResource("/javafx.html");
//set to catch alerts from the javascript.
engine.setOnAlert(event -> {
try {
final String data = event.getData();
if (data != null) {
if (data.contains("jse")) {
//handle if error in javascript.
} else {
//handle if successfull
}
}
} catch (final IOException e) {
e.printStackTrace();
}
});
//Load html into webengine.
engine.load(url.toString());
有一个更好的方法让javascript调用java方面的东西,我只是这样做以获得快速答案。我已经测试了这个并且它可以工作。
答案 1 :(得分:2)
按照https://firebase.google.com/docs/server/setup
中的步骤操作可以分解为:
我认为问题在于很容易忽视网站上的一些步骤。只需按照一步一步进行操作,并仔细阅读列出的步骤。
答案 2 :(得分:0)
您可以使用REST Api访问数据库以及身份验证。 看看这个答案: https://stackoverflow.com/a/37419212/5287436