Skip to main content

How to use SQLite Database to perform database operations in Android

We all know that the SQLite is use in Android to Local Storage .SQLite is an opensource SQL database that stores data to a text file on a device. Android comes in with built in SQLite database implementation. SQLite supports all the relational database features.

Lets Understand this using Code Snippets :-


First Create a Class named DatabaseHelper.Java  which extends SQLiteOpenHelper Class 


 public class DatabaseHelper extends SQLiteOpenHelper {  
   public static final String DB_NAME = "AnyNameDB";  
   public static final String TABLE_NAME = "Key";  
   public static final String COLUMN_ID = "id";  
   public static final String COLUMN_NAME ="keyword";  
   public static final String COLUMN_ADD = "url";  
   private static final int DB_VERSION = 1;  
   public DatabaseHelper(Context context) {  
     super(context,DB_NAME,null,DB_VERSION);  
   }  
   @Override  
   public void onCreate(SQLiteDatabase db) {  
     String sql = "CREATE TABLE " +TABLE_NAME  
         +"(" +COLUMN_ID+  
         " INTEGER PRIMARY KEY AUTOINCREMENT, " +COLUMN_NAME+  
         " VARCHAR, " +COLUMN_ADD+  
         " VARCHAR);";  
     db.execSQL(sql);  
   }  
   @Override  
   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
     String sql = "DROP TABLE IF EXISTS Key";  
     db.execSQL(sql);  
     onCreate(db);  
   }  
   public boolean addKey(String name, String add){  
     SQLiteDatabase db = this.getWritableDatabase();  
     ContentValues contentValues = new ContentValues();  
     contentValues.put(COLUMN_NAME,name);  
     contentValues.put(COLUMN_ADD, add);  
     db.insert(TABLE_NAME, null, contentValues);  
     db.close();  
     return true;  
   }  
   public Cursor getKey(){  
     SQLiteDatabase db = this.getReadableDatabase();  
     String sql = "SELECT * FROM Key"+";";  
     Cursor c = db.rawQuery(sql, null);  
     return c;  
   }  
   public void deleteKey(String keyname){  
     // SQLiteDatabase db = this.getWritableDatabase();  
    // String sql="SELECT * FROM Key WHERE id="+keymane;  
    //  db.execSQL(sql);  
     try  
     {  
       SQLiteDatabase db = this.getWritableDatabase();  
       db.execSQL("DELETE FROM "+TABLE_NAME+" WHERE "+COLUMN_NAME+"='"+keyname+"'");  
       db.close();  
     } catch (SQLException e) {  
       Log.d("Database Exception",e.toString());  
     }  
   }  
 }  


Use this Class to perform Different Database Operations Like : -


  • Insert Database


        DatabaseHelper db=new DatabaseHelper(this);
        String name = key.getText().toString().trim();
        String add = url.getText().toString().trim();
        db.addKey(name,add);
        Toast.makeText(this,"Inserted Successfully",Toast.LENGTH_LONG).show();


  • Delete Database  
       DatabaseHelper db=new DatabaseHelper(this);       
       db.deleteKey("keyname");


  • Show Database    

        DatabaseHelper db = new DatabaseHelper(this);
        Cursor c = db.getKey();
        int a=c.getCount();
        names=new String[a];
        url=new String[a];
       c.moveToFirst();
        names=new String[a-1];
        url=new String[a-1];
        int i=0;
        if (c != null) {
       
         c.moveToFirst();

        while (c.moveToNext()) {

                names[i] = c.getString(c.getColumnIndex(DatabaseHelper.COLUMN_NAME));
                url[i] = c.getString(c.getColumnIndex(DatabaseHelper.COLUMN_ADD));

                 i++;

        }

        }

-------------------------------------------------------------------------------------------------------------------




Comments