SQLite is a lightweight, embedded, SQL database engine that comes pre-installed on Android devices. It's a popular choice for storing structured data locally within your Android apps.
Key Concepts:
SQLiteOpenHelper:
A helper class that manages the creation and upgrade of the database.
It provides methods to:
Create the database
Upgrade the database schema
Get a readable or writable database instance
SQLiteDatabase:
Represents an open database.
Provides methods for:
Executing SQL queries
Inserting, updating, and deleting data
Querying data
ContentValues:
A class for holding key-value pairs of data to be inserted or updated in the database.
Steps to Use SQLite in Android Studio:
Create a SQLiteOpenHelper Class:
Java
public class MyDatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "mydatabase.db";
public static final int DATABASE_VERSION = 1;
public MyDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_TABLE_QUERY = "CREATE TABLE mytable (" +
"id INTEGER PRIMARY KEY AUTOINCREMENT," +
"name TEXT," +
"age INTEGER)";
db.execSQL(CREATE_TABLE_QUERY);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
// Handle database upgrades
here
}
}
2. Get a Database Instance:
Java
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
3.Perform CRUD Operations:
Insert Data:
Java
ContentValues values = new ContentValues();
values.put("name", "Alice");
values.put("age", 30);
long newRowId = db.insert("mytable", null, values);
Query Data:
Java
Cursor cursor = db.query("mytable", null, null, null, null, null, null);
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndexOrThrow("name"));
int age = cursor.getInt(cursor.getColumnIndexOrThrow("age"));
// Do something with the retrieved data
}
cursor.close();
Update Data:
Java
ContentValues values = new ContentValues();
values.put("age", 35);
String selection = "name = ?";
String[] selectionArgs = {"Alice"};
int count = db.update("mytable", values, selection, selectionArgs);
Delete Data:
Java
String selection = "id = ?";
String[] selectionArgs = {"1"};
int count = db.delete("mytable", selection, selectionArgs);