Большое спасибо за объяснение. Я принял твой ответ. Еще раз спасибо за ваше время и опыт.
я возникла проблема с этим кодом, который почти дословно скопирован из документации Firebase SDK Java для работы. Я новичок в реальном языке, таком как Java, пришедшем из опыта webdev в PHP и JavaScript.
По сути, addListenerForSingleValueEvent не запускается, чтобы вернуть мне данные. Я заметил это, потому что системная распечатка не срабатывает, поэтому я предполагаю, что событие прослушивания не сработало.
Я подозреваю, что это связано с моим ограниченным знанием того, как работает сама функция, как будто я упускаю некоторые структурные знания о том, как класс и функции взаимодействуют друг с другом.
Любая помощь будет оценена, спасибо.
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");
}
});
}
}