Ich habe ein Problem mit diesem Code, der fast wortwörtlich aus der Firebase SDK-Java-Dokumentation kopiert wurde, um zu funktionieren. Ich bin neu in einer echten Sprache wie Java, die von einem Webdev-Hintergrund in PHP und JavaScript kommt.Ergreifung von Daten aus Firebase mit Java
Grundsätzlich wird der addListenerForSingleValueEvent nicht ausgelöst, um mir Daten zurück zu geben. Das ist mir aufgefallen, weil der Systemausdruck nicht ausgelöst wurde. Ich gehe daher davon aus, dass das Hörereignis nicht ausgelöst wurde.
Ich vermute, dass dies mit meinem begrenzten Wissen, wie die Funktion selbst funktioniert, zu tun hat, da mir strukturelles Wissen darüber fehlt, wie die Klasse und die Funktionen miteinander interagieren.
Jede Hilfe wäre dankbar, danke.
class FireBase {
public static void main(String[] args) throws IOException {
// Fetch the service account key JSON file contents
FileInputStream serviceAccount = new FileInputStream("key.json");
// Initialize the app with a service account, granting admin privileges
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
.setDatabaseUrl("https://ssworks-adwords.firebaseio.com/")
.build();
FirebaseApp.initializeApp(options);
// As an admin, the app has access to read and write all data, regardless of Security Rules
DatabaseReference ref = FirebaseDatabase
.getInstance()
.getReference("petitions");
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
System.out.println("Before Get Value");
Object document = dataSnapshot.getValue();
System.out.println(document);
}
@Override
public void onCancelled(DatabaseError arg0) {
// TODO Auto-generated method stub
System.out.println("This didn't work");
}
});
}
}
Was ist Ihre Ausgabe? –
Nichts, ich sehe nicht einmal die Ausgabe "Before Get Value". Ich glaube also nicht, dass die Funktion überhaupt abfeuert. –