![](/img/trans.png)
[英]Using custom registration for Firebase authentication in Firebase Realtime Database (in Android)?
[英]Adding data in Firebase realtime database using push() in Android Studio
我正在尝试在我的医院应用程序中创建一个功能,允许用户预约医生。 因此,当他们预约时,预约日期、患者 email、医生 email 等详细信息应存储在名为“医生计划”和“患者预约”的父节点中。 我正在尝试使用 Firebase 中的 push() 来执行此操作,但我的应用程序不断崩溃。 请帮我修复它。
public class Book extends AppCompatActivity {
TextView selectedDate;
Button calenderButton,ok;
FirebaseAuth mAuth;
DatabaseReference docUser, patRef;
ProgressDialog loader;
FirebaseDatabase database= FirebaseDatabase.getInstance();
String Date;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_book);
Intent intent = getIntent();
// receive the value by getStringExtra() method
// and key must be same which is send by first
// activity
String docEmail = intent.getStringExtra("message_key1");
String patEmail = intent.getStringExtra("message_key2");
String patname = intent.getStringExtra("message_key2.1");
String docname = intent.getStringExtra("message_key2.2");
String dphone = intent.getStringExtra("message_key2.3");
//Toast.makeText(Book.this, patname, Toast.LENGTH_SHORT).show();
selectedDate=findViewById(R.id.text);
calenderButton=findViewById(R.id.calender);
ok=findViewById(R.id.ok);
loader = new ProgressDialog(this);
mAuth = FirebaseAuth.getInstance();
FirebaseUser user= mAuth.getInstance().getCurrentUser();
//docUser= database.getReference().child("Doctor Schedule");
MaterialDatePicker materialDatePicker=MaterialDatePicker.Builder.datePicker().
setTitleText("Select date").setSelection(MaterialDatePicker.todayInUtcMilliseconds()).build();
calenderButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
materialDatePicker.show(getSupportFragmentManager(),"Tag_Picker");
materialDatePicker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener() {
@Override
public void onPositiveButtonClick(Object selection) {
selectedDate.setText(materialDatePicker.getHeaderText());
Date=materialDatePicker.getHeaderText();
}
});
}
});
class Post {
public Post(String Date, String Patient,String Email,String Doctor,String Status) {
// ...
}
}
class Post1 {
public Post1(String Date, String Patient,String Doctor,String Email,String Phone,String Status) {
// ...
}
}
ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (Date != null) {
docUser = database.getReference().child("Doctor Schedule");
DatabaseReference newdocUser = docUser.push();
newdocUser.setValue(new Post(Date, patname,patEmail,docEmail,"Pending"));
patRef= database.getReference().child("Patient Appointments");
DatabaseReference newpatRef = patRef.push();
newpatRef.setValue(new Post1(Date,patEmail,docname,docEmail,dphone,"Pending"));
}
else {
Toast.makeText(Book.this, "Select date!", Toast.LENGTH_SHORT).show();
}
finish();
}
});
}
}
我认为当你调用finish()时你的应用程序崩溃了。 只需删除该finish()并检查它是否在数据库中更新
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.