SQLiteDatabase:
This is the database in Android. This is private to each application. For every operation we perform in the database, we need to open and close the database. To perform these operations efficiently, we will take the help of SQLiteOpenHelper class.
The key class to work with the database is SQLite database.
SQLiteOpenHelper is only to maintain the database efficiently and upgrading the version.
To create a database, we have following steps.
1) Create a subclass of SQLiteOpenhelper
2) Create database name and version as constants
3) Create a constructor with context as the parameter
4) Call the superclass constructor by passing context, name and version and other parameters
5) Override onCreate(SQLiteDatabase) method, in this method, all the tables of the database are created.
Steps:
1) Design SQL query to create a table.
2) Execute the query by calling execSql(query) method.
3) For every table, there must be an id column.
Ex:
public void onCreate(SQLiteDatabase db) {
String studentTable = “CREATE TABLE STUDENT(ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, ROLL NUMBER INTEGER, MARKS1 REAL, MARKS2 REAL);”;
db.execSQL(studentTable);
}
6) Override onUpgrade method. This method is called whenever the version of the database is incremented. In this method, we write the logic to change the structure of the table.
Inserting data into database:
Steps to insert data in database as follows
1) Create a method in database class
2) Take the values to insert as parameters
3) Request SQLiteOpenHelper to open database for inserting data
4) Create an object of ContentValues, which will be used to wrap the data to insert in database
5) Call database.insert(tableName, null, contentvalues)
Ex:
public void insertStudent(String name, int rollNumber, float marks1, float marks2) {
SQLiteDatabase database = getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(“NAME”, name);
cv.put(“ROLLNUMBER”, rollNumber);
cv.put(“MARKS1”, marks1);
cv.put(“MARKS2”, marks2);
database.insert(“STUDENT”, null, cv);
}