SQL Lite and Room CRUD Operation
SQL Lite and Room CRUD Operation
DB Helper code
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
import java.util.List;
@Override
db.execSQL(TABLE_CREATE);
@Override
onCreate(db);
// CRUD Operations
// Create operation
SQLiteDatabase db = this.getWritableDatabase();
values.put(COLUMN_NAME, name);
values.put(COLUMN_AGE, age);
db.close();
// Read operation
SQLiteDatabase db = this.getReadableDatabase();
while (cursor.moveToNext()) {
long id = cursor.getLong(cursor.getColumnIndex(COLUMN_ID));
dataList.add(data);
cursor.close();
return dataList;
SQLiteDatabase db = this.getReadableDatabase();
if (cursor.moveToFirst()) {
}
cursor.close();
return data;
// Update operation
SQLiteDatabase db = this.getWritableDatabase();
db.close();
// Delete operation
SQLiteDatabase db = this.getWritableDatabase();
db.close();
}
Model class for retrive recyclerview
public class DataModel {
this.id = id;
this.name = name;
this.age = age;
return id;
return name;
return age;
}
Main Activity Class Code
import android.content.ContentValues;
import android.database.Cursor;
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;
import java.util.List;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper = new DBHelper(this);
nameEditText = findViewById(R.id.nameEditText);
ageEditText = findViewById(R.id.ageEditText);
idEditText = findViewById(R.id.idEditText);
addButton = findViewById(R.id.addButton);
readButton = findViewById(R.id.readButton);
updateButton = findViewById(R.id.updateButton);
deleteButton = findViewById(R.id.deleteButton);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
dbHelper.insertData(name, age);
showToast("Data added.");
});
readButton.setOnClickListener(new View.OnClickListener() {
@Override
if (dataList.isEmpty()) {
return;
buffer.append("ID: ").append(data.getId()).append("\n");
buffer.append("Name: ").append(data.getName()).append("\n");
buffer.append("Age: ").append(data.getAge()).append("\n\n");
showToast(buffer.toString());
});
updateButton.setOnClickListener(new View.OnClickListener() {
@Override
long id = Long.parseLong(idEditText.getText().toString());
updatedValues.put(DBHelper.COLUMN_NAME, nameEditText.getText().toString());
updatedValues.put(DBHelper.COLUMN_AGE,
Integer.parseInt(ageEditText.getText().toString()));
dbHelper.updateData(id, updatedValues);
showToast("Data updated.");
});
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
long id = Long.parseLong(idEditText.getText().toString());
dbHelper.deleteData(id);
showToast("Data deleted.");
});
}
Room Database CRUDE operation code
App database class code or create database code
package com.example.a75dayshardchallenge.RoomDatabase;
import android.content.Context;
import androidx.room.Database;
import androidx.room.Room;
import androidx.room.RoomDatabase;
package com.example.a75dayshardchallenge.RoomDatabase;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;
import org.checkerframework.checker.nullness.qual.NonNull;
@Entity
public class day {
@NonNull
@ColumnInfo
String id;
@ColumnInfo
boolean field1;
@ColumnInfo
boolean field2;
@ColumnInfo
boolean field3;
@ColumnInfo
boolean field4;
@ColumnInfo
boolean field5;
@ColumnInfo
boolean field6;
@ColumnInfo
int daycount;
@PrimaryKey(autoGenerate = true)
@ColumnInfo
int idcard;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;
import java.util.List;
@Dao
public interface DayDao {
@Insert
void insertDay(day da);
@Update
void updateDay(day da);
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;
@Entity
public class Image {
@PrimaryKey(autoGenerate = true)
@ColumnInfo
int id;
@ColumnInfo(name = "image")
private byte[] imageData;
this.imageData = imageData;
}
package com.example.a75dayshardchallenge.RoomDatabase;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import java.util.List;
@Dao
public interface ImgDao {
@Insert
long insertImage(Image imageEntity);
}
Activity or fragment class Database initialize
AppDatabase database;
DayDao dayDao;
database = AppDatabase.getInstance(this);
database = Room.databaseBuilder(getApplicationContext()
, AppDatabase.class, "app_database").allowMainThreadQueries()
.build();
dayDao = database.days75Dao();