2016-09-17 2 views
1

Ok, also hoffe ich, dass mir jemand mit diesem Problem helfen kann, da ich in den letzten Tagen eine Reihe verschiedener Lösungen ausprobiert habe. In meiner Aktivität habe ich einen EditText und einen Button und versuche diese Benutzereingaben in Firebase zu schreiben. Ich bekomme keine Fehler, wenn ich die Anwendung ausführe, aber wenn ich den Knopf drücke, passiert nichts.Daten werden nicht per Knopfdruck an Firebase geschrieben

Hier ist meine Klasse:

private EditText userEmail; 
Button sendInviteButton; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Firebase.setAndroidContext(this); 
    setContentView(R.layout.activity_user_registration); 

    userEmail = (EditText) findViewById(R.id.user_email); 
    sendInviteButton = (Button) findViewById(R.id.sendInviteButton); 

} 

public void btn(View view) { 
    sendInviteButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Firebase ref = new Firebase("https://app-1318.firebaseio.com/clients"); 
      String enteredUserEmail = userEmail.getText().toString(); 
      ref.child("userBackgroundCheck").setValue(enteredUserEmail); 
     } 
    }); 
} 

ich für die Schaltfläche in XML ein onClick tun haben so wirklich Ich habe keine Ahnung, warum diese Daten nicht auf Firebase gesendet wird.

Schließlich sollen wir die Stamm-URL für Firebase für diesen Teil verwenden ?:

Firebase ref = new Firebase("https://app-1318.firebaseio.com/clients"); 

Welche wäre:

Firebase ref = new Firebase("https://app-1318.firebaseio.com"); 

Antwort

1

Versuchen Sie, auf Ihre Konsole Firebase zu gehen und Ihre Datenbank bearbeiten Regel. Unten ist das Bildbeispiel.

Change your rules to that and see

+0

Ok, ich werde das jetzt versuchen. – mur7ay

+0

Das hat funktioniert, danke! – mur7ay

+0

Wenn Sie die Regeln wie folgt ändern, können Sie für alle Benutzer in der Welt lesbar und schreibbar werden. Dies ist zwar gängige Praxis, wenn Sie mit der Entwicklung beginnen, es wird jedoch empfohlen, dass Sie Ihren Code bald darauf ändern, um [Firebase-Authentifizierung] (https://firebase.google.com/docs/auth/) zu verwenden. Sobald Ihre Nutzer authentifiziert wurden (auch wenn nur [anonym] (https://firebase.google.com/docs/auth/)), können Sie [den Zugriff auf Ihre Datenbank sichern] (https://firebase.google. com/docs/datenbank/sicherheit /). –

2

Haben Sie Regeln unter Realtime-Datenbank hinzugefügt versucht. Wenn Sie zur Echtzeitdatenbank gehen, klicken Sie auf die Registerkarte Regeln. Fügen Sie die folgenden Zeilen hinzu:

// These rules give anyone, even people who are not users of your app, 
// read and write access to your database 
{ 
    "rules": { 
    ".read": true, 
    ".write": true 
    } 
} 

Sehen Sie, ob es funktioniert!

Auch warum speichern Sie Daten auf alte Weise. Hier ist die new doc zum Speichern von Daten in Echtzeit-Datenbank.

+0

Ich habe es gerade richtig gemacht, bevor ich deine Lösung gesehen habe. Ich werde den von Ihnen angegebenen Link definitiv auschecken. Vielen Dank! – mur7ay

+0

Froh, dass Ihr Problem gelöst wurde! – Programmer

Verwandte Themen