Google app engine 在Google App engine中安装Firebase管理SDK

Google app engine 在Google App engine中安装Firebase管理SDK,google-app-engine,firebase,firebase-admin,Google App Engine,Firebase,Firebase Admin,我在安卓系统的谷歌云模块中做上述工作。我认为Firebase的初始化是成功的,因为System.out.println(“usersRef.push():”+usersRef.push());//工作 但是我没有看到任何关于addListenerForSingleValueEvent的内容。我在日志中也没有看到任何错误/警告。我的数据库规则是为任何人都能读/写数据而设置的 更新1:根据使用setValue()的建议,我在firebase的文档上尝试了以下示例: FirebaseOptions o

我在安卓系统的谷歌云模块中做上述工作。我认为Firebase的初始化是成功的,因为
System.out.println(“usersRef.push():”+usersRef.push());//工作
但是我没有看到任何关于
addListenerForSingleValueEvent
的内容。我在日志中也没有看到任何错误/警告。我的数据库规则是为任何人都能读/写数据而设置的

更新1:根据使用setValue()的建议,我在firebase的文档上尝试了以下示例:

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());
            }
        });
调用不会对数据库进行任何更改。这可能就是您的侦听器没有被调用的原因
push()
只返回一个值,您可以使用该值在该引用表示的位置进行更改。该位置的密钥(唯一推送id)完全在客户端上生成

尝试使用由
push()
返回的
DatabaseReference
向数据库实际写入一个值

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);
FirebaseApp defaultApp = FirebaseApp.initializeApp(options);
this.defaultDatabase = FirebaseDatabase.getInstance().getReference();
defaultDatabase.child("users").getPath(): https://mkastrive.firebaseio.com
defaultDatabase.child("users").getPath(): /users