2016-11-18 56 views
0

我對android非常陌生。在調試過程中,我沒有弄清楚我要出錯的地方。我能夠看到輸入的字段值,但在firebase(後端)數據沒有更新。沒有數據從Android寫入Firebase

下面是我的代碼:

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()); 
        } 
       }); 

      } 
     }); 
    } 
} 

所有幫助表示讚賞。

+0

更新代碼後您的日誌,以幫助發現錯誤 – Vijai

+0

您可能沒有權限來寫入數據。爲了檢測這個,給你的'setValue()'調用添加一個完成監聽器。請參閱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#噸= 201611181313215541025 –

回答

2

嘗試通過更換

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

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