如何添加到 Firebase 中的列表?
How to add onto a list in Firebase?
我正在尝试将数据添加到我拥有的 Firebase 列表中,我觉得我已经接近了。
我的数据库是这样设置的。
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 的新手,一般来说是编码,所以任何帮助都会很棒。
有些错误,改成这样。
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());
}
});
让我知道进展如何。
我正在尝试将数据添加到我拥有的 Firebase 列表中,我觉得我已经接近了。
我的数据库是这样设置的。
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 的新手,一般来说是编码,所以任何帮助都会很棒。
有些错误,改成这样。
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());
}
});
让我知道进展如何。