如何添加到Firebase中的列表?

时间:2016-12-10 04:02:10

标签: java android list firebase add

我正在尝试将数据添加到我拥有的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和编码的新手,所以任何帮助都会很棒。

1 个答案:

答案 0 :(得分: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());
        } 
    }); 

让我知道它是怎么回事。