【发布时间】:2017-09-27 08:59:33
【问题描述】:
我正在关注 Firebase 网站上关于设置 Java Admin SDK 的文档。于是我在build.gradle中添加了依赖,并添加了如下代码:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.HashMap;
import java.util.Map;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
import com.google.firebase.auth.FirebaseCredentials;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
public class Main {
public static void main(String[] args) throws FileNotFoundException{
FileInputStream serviceAccount = new FileInputStream("/Users/idanaviv10/Desktop/mapit-33290-firebase-adminsdk-fdy24-a1d0505493.json");
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
.setDatabaseUrl("https://mapit-33290.firebaseio.com/")
.build();
FirebaseApp.initializeApp(options);
final FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference("server/saving-data/fireblog");
DatabaseReference usersRef = ref.child("users");
Map<String, User> users = new HashMap<String, User>();
users.put("alanisawesome", new User("June 23, 1912", "Alan Turing"));
users.put("gracehop", new User("December 9, 1906", "Grace Hopper"));
usersRef.setValue(users);
}
public static class User {
public String date_of_birth;
public String full_name;
public String nickname;
public User(String date_of_birth, String full_name) {
// ...
}
public User(String date_of_birth, String full_name, String nickname) {
// ...
}
}
}
问题是当我尝试获取数据(添加侦听器)或尝试保存数据(如示例中)时,什么也没发生。我在 Eclipse 中运行代码,我可以在控制台中看到它打印“完成”,但是当我检查数据库(在浏览器的 firebase 控制台上)时,没有任何变化。
【问题讨论】:
-
您必须使 HashMap 将值设置到数据库,请参阅保存数据下的 here
-
感谢您的回复。我尝试从文档中复制确切的示例,但仍然无法正常工作。
-
控制台中是否有任何数据库错误?检查权限。
-
控制台没有报错,权限里读写都设置为true。
-
您的用户孩子下是否有这些字段(date_of_birth、full_name、昵称)?将数据库构建添加到您的问题中
标签: java firebase firebase-realtime-database firebase-admin