Step 1 MAIN.XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".Slot_booking">
<TextView
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginTop="30dp"
android:text="my appointment"
android:gravity="center"
android:textStyle="bold"
android:textSize="20sp"
android:textColor="#4169E1"
/>
<EditText
android:id="@+id/name"
android:background="@drawable/edittext_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="50dp"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:layout_marginTop="80dp"
android:layout_marginEnd="50dp"
android:padding="16dp"
android:textStyle="normal"
android:textSize="14sp"
android:hint="Patient Name"
android:drawablePadding="16dp"
android:drawableLeft="@drawable/person"
android:drawableStart="@drawable/person"
android:inputType="text"
android:textColor="#4169E1"
android:textColorHint="#4169E1"
/>
<EditText
android:id="@+id/age"
android:background="@drawable/edittext_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="50dp"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="50dp"
android:padding="16dp"
android:textStyle="normal"
android:textSize="14sp"
android:hint="Symptoms"
android:drawablePadding="16dp"
android:drawableLeft="@drawable/person"
android:drawableStart="@drawable/person"
android:inputType="text"
android:textColor="#4169E1"
android:textColorHint="#4169E1"
/>
<EditText
android:id="@+id/date1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/edittext_bg"
android:layout_marginStart="50dp"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:text="Pick Your Date"
android:textAlignment="viewStart"
android:drawableStart="@drawable/date"
android:drawableLeft="@drawable/date"
android:layout_marginTop="20dp"
android:layout_marginEnd="50dp"
android:drawablePadding="16dp"
android:padding="16dp"
android:textStyle="normal"
android:textSize="14sp"
android:textColor="#4169E1"
android:clickable="false"
android:cursorVisible="false"
android:focusable="false"
android:focusableInTouchMode="false"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/Time"
android:textSize="14sp"
android:background="@drawable/edittext_bg"
android:layout_marginStart="50dp"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:text="Pick Your Time"
android:textAlignment="viewStart"
android:drawableStart="@drawable/time"
android:drawablePadding="16dp"
android:drawableLeft="@drawable/time"
android:layout_marginTop="20dp"
android:layout_marginEnd="50dp"
android:padding="16dp"
android:textStyle="normal"
android:textColor="#4169E1"
/>
<Button
android:id="@+id/appoint"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="60dp"
android:layout_marginLeft="60dp"
android:layout_marginRight="60dp"
android:layout_marginTop="25dp"
android:layout_marginEnd="60dp"
android:textSize="15sp"
android:gravity="center"
android:textColor="#FFFFFF"
android:background="@drawable/button_background"
android:text="Take Appointment"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/isStudent" />
</LinearLayout>
Step 2 MAIN.JAVA
package in.learncodewithrk.carparking;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.text.format.DateFormat;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.FirebaseFirestore;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
public class Slot_booking extends AppCompatActivity {
EditText Date,Name,Age;
Calendar calendar;
Button Appoint;
TextView time;
int t1Hour, t1Minute;
FirebaseFirestore firestore;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_slot_booking);
Date = findViewById(R.id.date1);
Name=findViewById(R.id.name);
Age=findViewById(R.id.age);
Calendar calendar= Calendar.getInstance();
firestore = FirebaseFirestore.getInstance();
Appoint=findViewById(R.id.appoint);
time=findViewById(R.id.Time);
time.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TimePickerDialog timePickerDialog= new TimePickerDialog(Slot_booking.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int hourOfDay, int minute) {
t1Hour= hourOfDay;
t1Minute=minute;
calendar.set(0,0,0,t1Hour,t1Minute);
time.setText(DateFormat.format("hh:mm aa",calendar));
}
},12,0,false
);
timePickerDialog.updateTime(t1Hour,t1Minute);
timePickerDialog.show();
}
});
Appoint.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String date =Date.getText().toString();
String Timer = time.getText().toString();
String AGE = Age.getText().toString();
String NAME =Name.getText().toString();
Map<String, Object > user = new HashMap<>();
user.put("Name_of_Patient",NAME);
user.put("Age_of_Patient",AGE);
user.put("Appointment_Date",date);
user.put("Appointment_Time",Timer);
firestore.collection("Appointment")
.add(user)
.addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
@Override
public void onSuccess(DocumentReference documentReference) {
Toast.makeText(Slot_booking.this, "Successful", Toast.LENGTH_SHORT).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(Slot_booking.this, "Failed", Toast.LENGTH_SHORT).show();
}
});
}
});
DatePickerDialog.OnDateSetListener dateSetListener= new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfmonth) {
calendar.set(Calendar.YEAR,year);
calendar.set(Calendar.MONTH,month);
calendar.set(Calendar.DAY_OF_MONTH,dayOfmonth);
updateCalender();
}
private void updateCalender() {
String Format = "dd/MM/yy";
SimpleDateFormat simpleDateFormat= new SimpleDateFormat(Format, Locale.US);
Date.setText(simpleDateFormat.format(calendar.getTime()));
}
};
Date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new DatePickerDialog(Slot_booking.this,dateSetListener,calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH)).show();
}
});
}
}
GITHUB : https://github.com/LearncodeWithRk/Appointment-Firebase
0 Comments