0% found this document useful (0 votes)
49 views

Sqlite Lab Exercise

The document shows code for an Android app that uses a SQLite database to store course data. It defines a DBHandler class that extends SQLiteOpenHelper to manage the database. The onCreate() method creates a database table with columns for course ID, name, duration, description and tracks. The addNewCourse() method inserts a new course into the table. The MainActivity gets input from EditTexts, calls addNewCourse() and displays a toast on success.

Uploaded by

ukbalaji_it
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views

Sqlite Lab Exercise

The document shows code for an Android app that uses a SQLite database to store course data. It defines a DBHandler class that extends SQLiteOpenHelper to manage the database. The onCreate() method creates a database table with columns for course ID, name, duration, description and tracks. The addNewCourse() method inserts a new course into the table. The MainActivity gets input from EditTexts, calls addNewCourse() and displays a toast on success.

Uploaded by

ukbalaji_it
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Navigate to the app > java > your app’s package name > Right-click on it

> New > Java class and name it as DBHandler and add the below code
import android.content.ContentValues;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

public class DBHandler extends SQLiteOpenHelper {

private static final String DB_NAME = "coursedb";

private static final int DB_VERSION = 1;

private static final String TABLE_NAME = "mycourses";

private static final String ID_COL = "id";

private static final String NAME_COL = "name";

private static final String DURATION_COL = "duration";

private static final String DESCRIPTION_COL = "description";

private static final String TRACKS_COL = "tracks";

public DBHandler(Context context) {

super(context, DB_NAME, null, DB_VERSION);

// below method is for creating a database by running a sqlite query

@Override

public void onCreate(SQLiteDatabase db) {

String query = "CREATE TABLE " + TABLE_NAME + " ("

+ ID_COL + " INTEGER PRIMARY KEY AUTOINCREMENT, "

+ NAME_COL + " TEXT,"

+ DURATION_COL + " TEXT,"

+ DESCRIPTION_COL + " TEXT,"


+ TRACKS_COL + " TEXT)";

db.execSQL(query);

// this method is use to add new course to our sqlite database.

public void addNewCourse(String courseName, String courseDuration, String


courseDescription, String courseTracks) {

SQLiteDatabase db = this.getWritableDatabase();

ContentValues values = new ContentValues();

values.put(NAME_COL, courseName);

values.put(DURATION_COL, courseDuration);

values.put(DESCRIPTION_COL, courseDescription);

values.put(TRACKS_COL, courseTracks);

db.insert(TABLE_NAME, null, values);

db.close();

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

// this method is called to check if the table exists already.

db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);

onCreate(db);

}
MainActivity.java

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

// creating variables for our edittext, button and dbhandler

private EditText courseNameEdt, courseTracksEdt, courseDurationEdt,


courseDescriptionEdt;

private Button addCourseBtn;

private DBHandler dbHandler;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

// initializing all our variables.

courseNameEdt = findViewById(R.id.idEdtCourseName);

courseTracksEdt = findViewById(R.id.idEdtCourseTracks);

courseDurationEdt = findViewById(R.id.idEdtCourseDuration);

courseDescriptionEdt = findViewById(R.id.idEdtCourseDescription);

addCourseBtn = findViewById(R.id.idBtnAddCourse);
// creating a new dbhandler class

// and passing our context to it.

dbHandler = new DBHandler(MainActivity.this);

// below line is to add on click listener for our add course button.

addCourseBtn.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// below line is to get data from all edit text fields.

String courseName = courseNameEdt.getText().toString();

String courseTracks = courseTracksEdt.getText().toString();

String courseDuration = courseDurationEdt.getText().toString();

String courseDescription = courseDescriptionEdt.getText().toString();

// validating if the text fields are empty or not.

if (courseName.isEmpty() && courseTracks.isEmpty() &&


courseDuration.isEmpty() && courseDescription.isEmpty()) {

Toast.makeText(MainActivity.this, "Please enter all the


data..", Toast.LENGTH_SHORT).show();

return;

// on below line we are calling a method to add new

// course to sqlite data and pass all our values to it.

dbHandler.addNewCourse(courseName, courseDuration,
courseDescription, courseTracks);
// after adding the data we are displaying a toast message.

Toast.makeText(MainActivity.this, "Course has been added.",


Toast.LENGTH_SHORT).show();

courseNameEdt.setText("");

courseDurationEdt.setText("");

courseTracksEdt.setText("");

courseDescriptionEdt.setText("");

});

<EditText
android:id="@+id/idEdtCourseName"
<EditText
android:id="@+id/idEdtCourseDuration"
<EditText
android:id="@+id/idEdtCourseTracks"
<EditText
android:id="@+id/idEdtCourseDescription"
<Button
android:id="@+id/idBtnAddCourse"

You might also like