2016-11-18 4 views
0

Ich bin sehr neu in Android. Ich verstehe nicht, wo ich beim Debugging falsch liege. Ich kann die eingegebenen Felder sehen, aber im Firebase (Backend) werden die Daten nicht aktualisiert.Keine Daten werden von Android zu Firebase geschrieben

Unten ist mein Code:

public class MainActivity extends AppCompatActivity { 

    private EditText editTextName; 
    private EditText editTextAddress; 
    private TextView textViewPersons; 
    private Button buttonSave; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Firebase.setAndroidContext(this); 

     buttonSave = (Button) findViewById(R.id.buttonSave); 
     editTextName = (EditText) findViewById(R.id.editTextName); 
     editTextAddress = (EditText) findViewById(R.id.editTextAddress); 

     textViewPersons = (TextView) findViewById(R.id.textViewPersons); 

     buttonSave.setOnClickListener(new android.view.View.OnClickListener() { 
      @Override 
      public void onClick(android.view.View v) { 
       //Creating firebase object 
       Firebase ref = new Firebase(Config.FIREBASE_URL); 

       //Getting values to store 
       String name = editTextName.getText().toString().trim(); 
       String address = editTextAddress.getText().toString().trim(); 

       //Creating Person object 
       Person person = new Person(); 

       //Adding values 
       person.setName(name); 
       person.setAddress(address); 

       //Storing values to firebase 
       ref.child("Person").setValue(person); 


       //Value event listener for realtime data update 
       ref.addValueEventListener(new ValueEventListener() { 
        @Override 
        public void onDataChange(DataSnapshot snapshot) { 
         for (DataSnapshot postSnapshot : snapshot.getChildren()) { 
          //Getting the data from snapshot 
          Person person = postSnapshot.getValue(Person.class); 

          //Adding it to a string 
          String string = "Name: "+person.getName()+"\nAddress: "+person.getAddress()+"\n\n"; 

          //Displaying it on textview 
          textViewPersons.setText(string); 
         } 
        } 

        @Override 
        public void onCancelled(FirebaseError firebaseError) { 
         System.out.println("The read failed: " + firebaseError.getMessage()); 
        } 
       }); 

      } 
     }); 
    } 
} 

Alle Hilfe ist willkommen.

+0

posten Sie Ihre Log-Ersatz zu finden, Fehler zu – Vijai

+0

Sie keine Berechtigung, die Daten zu schreiben haben könnten. Um dies zu erkennen, fügen Sie Ihren Aufrufen zu setValue() 'einen Abschluss-Listener hinzu. Siehe http://stackoverflow.com/documentation/firebase/5548/how-do-i-listen-for-errors-when-accessing-the-database/19721/detect-errors-when-writing-a-value-on -android # t = 201611181313215541025 –

Antwort

2

Versuchen Sie den Code Aktualisierung von

Person person = new Person(); 
     //Adding values 
     person.setName(name); 
     person.setAddress(address); 
     //Storing values to firebase 
     ref.child("Person").setValue(person); 

mit

ref.child("Person").setValue(name) 
Verwandte Themen