2016-12-10 27 views
0

我想將數據添加到我擁有的Firebase列表中,並且我感覺我很接近。如何添加到Firebase列表中?

我的數據庫是這樣設置的。 enter image description here

public class AddRestaurantActivity extends AppCompatActivity { 

    private EditText newRestaurant; 
    private Button addBtn; 
    private Button homeBtn; 


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


     DatabaseReference mRootRef = FirebaseDatabase.getInstance().getReference(); 
     final DatabaseReference mRestReference = mRootRef.child("restaurants"); 

     newRestaurant = (EditText) findViewById(R.id.addrestauranttext); 
     addBtn = (Button) findViewById(R.id.addrestaurantBtn); 
     homeBtn = (Button) findViewById(R.id.HomeButton); 

     addBtn.setOnClickListener(new View.OnClickListener() 
     { 
      @Override 
      public void onClick(View view) { 
       String newRestaurantName = newRestaurant.getText().toString(); 

       mRestReference.getRoot().setValue(newRestaurantName); 
       newRestaurant.setText(""); 
      } 
     }); 

是我到目前爲止,當我用這個它不工作的代碼。問題是設置新項目。現在它完全取代了我的數據庫,因爲mRestReference.getRoot()。setValue(newRestaurantName);代碼。我需要找到添加新餐廳的方法,以便它不會替換數據庫中已有的所有內容。參考數據庫的圖片來看看它是如何設置的。只有一個名爲name的屬性非常簡單。 我是新來的android和一般編碼,所以任何幫助將是偉大的。

+0

請更具體的比「它不工作」。是否有例外或其他錯誤信息? – DavidS

+0

我試圖添加更多的細節。這些幫助有用? – Hunter

+0

請參閱https://firebase.google.com/docs/database/android/lists-of-data#append_to_a_list_of_data –

回答

0

有一些錯誤,像這樣改變它。

addBtn.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View view) { 
      String newRestaurantName = newRestaurant.getText().toString(); 

      DatabaseReference newResturantRef = mRestReference.push(); 

      newResturantRef.child("name").setValue("Taco Bell"); 
      //also store the key of student, so that you can refer it later 
      newResturantRef.child("studentKey").setValue(newResturantRef.getKey()); 
     } 
    }); 

讓我知道,它是怎麼回事。

+0

這太棒了!非常感謝。唯一的事情是設置爲1的孩子需要是不同的數字,以便他們可以輸入多個選項。有沒有辦法做到這一點? – Hunter

+0

請參閱Frank Van的評論。你可以通過創建Push值來實現它..總是不同 –

+0

我知道你是firebase的初學者,我建議你通過在線教程學習更多關於firebase的知識。因爲,你在這裏問的是非常基本的。你不幸運,每次都能回答這些基本問題。 我從這裏開始:https://www.youtube.com/playlist?list = PLGCjwl1RrtcTXrWuRTa59RyRmQ4OedWrt –