2016-12-10 6 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이라는 속성 하나만 있으면 매우 간단합니다. 나는 안드로이드와 코딩에 익숙하지 않으므로 모든 도움이 될 것입니다.

+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 님의 댓글을보세요. 당신은 푸시 값을 생성함으로써 그것을 얻을 수 있습니다 .. 항상 다른 것 –

+0

나는 당신이 파이어베이스의 초보자라는 것을 알고 있습니다. 온라인 튜토리얼을 점검하여 파이어베이스에 대해 더 많이 배우라고 권합니다. 왜냐하면, 당신이 여기서 묻고있는 것은 매우 기본적인 것입니다. 매번 이러한 기본적인 질문에 답을 얻지 못한 것은 운이 좋지 않습니다. 여기에서 시작했습니다 : https://www.youtube.com/playlist?list=PLGCjwl1RrtcTXrWuRTa59RyRmQ4OedWrt –

관련 문제