FirebaseOptions options = new FirebaseOptions.Builder()
.setCredential(FirebaseCredentials.applicationDefault())
.setDatabaseUrl("https://mkastrive.firebaseio.com")
.build();
FirebaseApp defaultApp = FirebaseApp.initializeApp(options);
DatabaseReference ref = defaultDatabase
.getInstance()
.getReference("users");
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
System.out.println("in onDataChange");
System.out.println(dataSnapshot.getValue());
}
@Override
public void onCancelled(DatabaseError databaseError) {
System.out.println("in onCancelled");
System.out.println(databaseError.toString());
}
});
私はAndroidのGoogle Cloud Moduleで上記を行っています。 System.out.println("usersRef.push(): " + usersRef.push()); // Working
しかし、私はaddListenerForSingleValueEvent
のための何も表示されませんので、私のFirebaseの初期化が成功したと思います。ログにもエラーや警告は表示されません。私のデータベースルールは誰でもデータを読み書きできるように設定されています。Google App EngineのFirebase admin SDKセットアップ
アップデート1:のsetValue()を使用しての提案によると、私はfirebaseのドキュメントに例を試してみました:
DatabaseReference usersRef1 = 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"));
usersRef1.setValue(users);
しかし、これはどちらかのデータベースに挿入していない、ともエラーされていません。ログは空白です。
アップデート2: いくつかのログ
FirebaseApp defaultApp = FirebaseApp.initializeApp(options);
this.defaultDatabase = FirebaseDatabase.getInstance().getReference();
defaultDatabase.child("users").getPath(): https://mkastrive.firebaseio.com
defaultDatabase.child("users").getPath(): /users