Android - 将数据添加到数据库
问题描述:
我正在开发一个安卓应用程序firebase作为我的数据库。我想在button
的新闻中插入一些数据,但我想插入数据库中的一些对象放在我的片段中的不同的方法。如何使用相同的按钮以不同的方法将数据插入到我的数据库?Android - 将数据添加到数据库
public class mFragment extends Fragment implements
DateFragment.DatePickerEvent {
DatabaseReference database;
FirebaseAuth mAuth;
EditText text1;
EditText text2;
@Override
public void onDateSelected(String date) {
Button buttonDateText = (Button) getView().findViewById(R.id.buttonDate);
buttonDateText.setText(date);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_frag, container, false);
database = FirebaseDatabase.getInstance().getReference("Persons");
mAuth = FirebaseAuth.getInstance();
final FirebaseUser user = mAuth.getCurrentUser();
Button pickDateButton = (Button) rootView.findViewById(R.id.buttonDate);
Button submitButton = (Button) rootView.findViewById(R.id.buttonSubmit);
text1= (EditText) rootView.findViewById(R.id.oddsView);
text2= (EditText) rootView.findViewById(R.id.betAmountView);
pickDateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DateFragment picker = new DateFragment();
picker.setDatePickerEvents(mFragment.this);
picker.show(getFragmentManager(), "datePicker");
}
});
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
database.child("Person").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String myText= text1.getText().toString().trim();
String myAnotherText= text2.getText().toString().trim();
String id = database.push().getKey();
database.child(user.getDisplayName()).child(id).child("Adress").setValue(myText);
database.child(user.getDisplayName()).child(id).child("name").setValue(myAnotherText);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
});
return rootView;
}
}
实现的接口来自我所做的一个日期片段,用户可以在其中选择日期小部件上的日期。我想插入日期对象插入到数据库中,但我不确定如何做到这一点与提交按钮的另一种方法
答
是你已经在使用buttonDateText.setText(date);
你可以将它添加到您的onDataChange
和读取日期设置为您Button
它:
Button buttonDateText = (Button) getView().findViewById(R.id.buttonDate);
String date = buttonDateText.getText().toString();
或声明String
作为类变量String mDate ="";
,里面onDateSelected
做mDate = date
,现在你可以使用你的mDate
onDataChange
+0
太棒了,这个工程。谢谢。 – John
内提供更清晰..正是你想达到什么!? –
有一个submitButton,它将两个文本框添加到数据库中作为唯一ID的子项。在另一种方法“onDateSelected”有一个日期对象,我也想添加到数据库作为与两个文本字段相同的唯一ID的子节点。所有这些都应该使用submitButton完成。 – John