java - Firebase admin SDK 使用 Java,无法解析
问题描述
我是firebase开发的新手,我试图将一个简单的字符串推送到firebase实时数据库,但不断出错。
我的代码
public static void main(String[] args) {
try {
initializeFirebase();
} catch (IOException e) {
e.printStackTrace();
}
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRootRef = database.getReference();
DatabaseReference condRef = myRootRef.child("condition");
condRef.setValueAsync("ok", new DatabaseReference.CompletionListener() {
public void onComplete(DatabaseError arg0, DatabaseReference arg1) {
System.out.println("success");
}
});
}
private static void initializeFirebase() throws IOException {
FileInputStream serviceAccount = new FileInputStream("adarofirebase.json");
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(serviceAccount))
.setDatabaseUrl("https://adarofirebase.firebaseio.com/").build();
FirebaseApp.initializeApp(options);
}
错误堆栈跟踪:
Exception in thread "main" com.google.firebase.database.DatabaseException:
Failed to parse node with class class com.arya.firebase.App$1
我整天都在想办法,但仍然没有运气。提前致谢
解决方案
您正在setValueAsync()
使用错误的参数调用该方法:
public ApiFuture<Void> setValueAsync(Object value, Object priority)
第二个参数是priority
,它应该是一个 JSON 可解析的值。您正在传递 a CompletionListener
,它不是 JSON 可解析的。
推荐阅读
- javascript - 将数组转换为对象而不在javascript中对键进行排序
- lua - Roblox Studio 错误:Workspace.Driver.OnSeated!:13:尝试使用“名称”索引 nil
- javascript - 将 DIV 拖到 Canvas 上时放置位置问题
- node.js - 如何使用 nodejs/express 下载 pdf?
- ignite - Gridgain 控制台负载均衡
- c# - 如何在没有数据库的情况下使用cshtml通过viewmodel传递List
- javascript - 节点中更改时间的最佳方法是什么?
- tensorflow - 如何在 tensorflow 虚拟 GPU 上放置节点?
- gradle - 如何使用自定义 gradle 构建文件和 gradle 设置文件
- kdb - 在 kdb 中使用假日日历?