package com.example.datetimepicker; DBhelper.
java
import android.app.DatePickerDialog; package com.example.studentapp;
import android.app.TimePickerDialog; import android.content.Context;
import android.os.Bundle; import android.database.Cursor;
import android.widget.Button; import android.database.sqlite.*;
import android.widget.TextView; import android.content.ContentValues;
import androidx.appcompat.app.AppCompatActivity; public class DBHelper extends SQLiteOpenHelper {
import java.util.Calendar; public DBHelper(Context context) {
public class MainActivity extends AppCompatActivity { super(context, "StudentDB", null, 1);
Button btnDate, btnTime; }
TextView txtDate, txtTime; @Override
@Override protected void onCreate(Bundle public void onCreate(SQLiteDatabase db) {
savedInstanceState) {
db.execSQL("CREATE TABLE students(rollno INTEGER
super.onCreate(savedInstanceState); PRIMARY KEY, name TEXT, branch TEXT, marks INTEGER,
percentage REAL);");
setContentView(R.layout.activity_main);
}
btnDate = findViewById(R.id.btnDate);
@Override
btnTime = findViewById(R.id.btnTime);
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
txtDate = findViewById(R.id.txtDate); newVersion) {
txtTime = findViewById(R.id.txtTime); db.execSQL("DROP TABLE IF EXISTS students");
btnDate.setOnClickListener(v -> { onCreate(db);
Calendar c = Calendar.getInstance(); }
int year = c.get(Calendar.YEAR); public boolean insertStudent(int rollno, String name, String
branch, int marks, float percentage) {
int month = c.get(Calendar.MONTH);
SQLiteDatabase db = this.getWritableDatabase();
int day = c.get(Calendar.DAY_OF_MONTH);
ContentValues values = new ContentValues();
new DatePickerDialog(this, (view, y, m, d) -> {
values.put("rollno", rollno);
txtDate.setText(d + "/" + (m + 1) + "/" + y);
values.put("name", name);
}, year, month, day).show();
values.put("branch", branch);
});
values.put("marks", marks);
btnTime.setOnClickListener(v -> {
values.put("percentage", percentage);
Calendar c = Calendar.getInstance();
long result = db.insertWithOnConflict("students", null,
int hour = c.get(Calendar.HOUR_OF_DAY);
values, SQLiteDatabase.CONFLICT_REPLACE);
int minute = c.get(Calendar.MINUTE);
return result != -1;
new TimePickerDialog(this, (view, h, m) -> {
}
txtTime.setText(h + ":" + String.format("%02d", m));
public Cursor getStudent(int rollno) {
}, hour, minute, true).show();
SQLiteDatabase db = this.getReadableDatabase();
});
return db.rawQuery("SELECT * FROM students WHERE
} rollno = ?", new String[]{String.valueOf(rollno)});
} }}
package com.example.studentapp; Toast.makeText(this, "Insert Failed",
Toast.LENGTH_SHORT).show();
import android.database.Cursor;
}
import android.os.Bundle;
});
import android.widget.*;
btnSearch.setOnClickListener(v -> {
import androidx.appcompat.app.AppCompatActivity;
int roll = Integer.parseInt(etRollNo.getText().toString());
public class MainActivity extends AppCompatActivity {
Cursor c = dbHelper.getStudent(roll);
EditText etRollNo, etName, etBranch, etMarks, etPercentage;
if (c.moveToFirst()) {
Button btnInsert, btnSearch;
String data = "Name: " + c.getString(1) + "\n" +
TextView tvOutput;
"Branch: " + c.getString(2) + "\n" +
DBHelper dbHelper;
"Marks: " + c.getInt(3) + "\n" +
@Override
"Percentage: " + c.getFloat(4);
protected void onCreate(Bundle savedInstanceState) {
tvOutput.setText(data);
super.onCreate(savedInstanceState);
} else {
setContentView(R.layout.activity_main);
tvOutput.setText("Student not found!");
etRollNo = findViewById(R.id.etRollNo);
}
etName = findViewById(R.id.etName);
c.close();
etBranch = findViewById(R.id.etBranch);
});
etMarks = findViewById(R.id.etMarks);
}
etPercentage = findViewById(R.id.etPercentage);
void clearFields() {
btnInsert = findViewById(R.id.btnInsert);
etRollNo.setText("");
btnSearch = findViewById(R.id.btnSearch);
etName.setText("");
tvOutput = findViewById(R.id.tvOutput);
etBranch.setText("");
dbHelper = new DBHelper(this);
etMarks.setText("");
etPercentage.setText("");
btnInsert.setOnClickListener(v -> {
}
int roll = Integer.parseInt(etRollNo.getText().toString());
}
String name = etName.getText().toString();
String branch = etBranch.getText().toString();
int marks = Integer.parseInt(etMarks.getText().toString());
float percent =
Float.parseFloat(etPercentage.getText().toString());
boolean success = dbHelper.insertStudent(roll, name,
branch, marks, percent);
if (success) {
Toast.makeText(this, "Student Inserted",
Toast.LENGTH_SHORT).show();
clearFields();
} else {