Tuesday, 12 March 2013

A complete reference to Database Helper Class in SQLite in ANDROID

For COMPLETE TUTORIALS see here :
DABASEHELPER CLASS :
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBAdapter
    {
    public static final String KEY_ROWID = "id";
    public static final String KEY_NAME = "title";
    public static final String KEY_NICKNAME = "duedate";
    private static final String DATABASE_NAME = "assinDB.db";
    private static final String DATABASE_TABLE = "assignments";
    private static final int DATABASE_VERSION = 2; 


    private final Context context;
    private DatabaseHelper ObjectDBHelper;
    private SQLiteDatabase db;

    public DBAdapter(Context ctx) {
        context = ctx;
    }
  
    private static class DatabaseHelper extends SQLiteOpenHelper  {
        public DatabaseHelper(Context context)
        {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
            // TODO Auto-generated constructor stub
        }

        @Override
        public void onCreate(SQLiteDatabase db) {
            // TODO Auto-generated method stub         

         db.execSQL("CREATE TABLE IF not exists " + DATABASE_TABLE  
                                 + " ("+ KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
                                 + KEY_NAME + " TEXT NOT NULL, " +             
                                 KEY_NICKNAME+ " TEXT NOT NULL);");
        }

        @Override
        public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)
        {
            // TODO Auto-generated method stub
            db.execSQL("DROP TABLE IF EXISTS" + DATABASE_TABLE);
        }  
      }

// =====================open database================
    public DBAdapter open() throws SQLException {
        ObjectDBHelper = new DatabaseHelper(context);
        db = ObjectDBHelper.getWritableDatabase();
        return this;
    }

// =========close database==================
    public void close() {
        ObjectDBHelper.close();
    }

//==enter fields in from SQLiteExample database====
    public void entryfield(String namestr, String nickstr) {
    ContentValues cv = new ContentValues();    // Bundle for writting the database fields
    cv.put(KEY_NAME, namestr);    // put the values passed to ContentValues
    cv.put(KEY_NICKNAME, nickstr); // put the values passed to ContentValues
    db.insert(DATABASE_TABLE, null, cv); //insert into databse with vlues as "content vales"
    }

//===========getting all data==============
    public String getdata() {
        // TODO Auto-generated method stub
      String[] coloumns = new String[] { KEY_ROWID, KEY_NAME,KEY_NICKNAME };
      Cursor c = db.query(DATABASE_TABLE, coloumns, null, null,null, null, null);
                   // basically reading a database need cursor
      String result = " "; // since string is to be returned
      System.out.println("count of cursor=====>>" +c.getCount());
     int iRowid = c.getColumnIndex(KEY_ROWID);
                               // calling each row values
     int iRowName = c.getColumnIndex(KEY_NAME);
     int iRowNickName = c.getColumnIndex(KEY_NICKNAME);
       if (c.moveToFirst()) {
            c.moveToFirst();
            for (int i = 0; i < c.getCount(); i++) {
                result = result + c.getString(iRowid) + " "+ c.getString(iRowName) + " "
                + c.getString(iRowNickName) + "\n";
        System.out.println(result + " <> " + iRowid + " <> " +
                     iRowName);
        c.moveToNext();
            }
        }
        c.close();
        db.close();
        return result;
    }

// ==================== get info ===================
    public String returnName(long l) {
        // TODO Auto-generated method stub
     String[] coloumns = new String[] { KEY_ROWID, KEY_NAME,KEY_NICKNAME };
                // calling elements in an array

     Cursor c = db.query(DATABASE_TABLE, coloumns, KEY_ROWID + "=" + l,null, null, null, null);
        if (c != null) {
            c.moveToFirst();
            String name = c.getString(1);
                 // since name is in position 1 ie second coloumn
            return name;
           }
        return null;
            }

    public String returnickname(long l) {
        // TODO Auto-generated method stub
        String[] coloumns = new String[] { KEY_ROWID, KEY_NAME,KEY_NICKNAME }; //calling elements in an array
        Cursor c = db.query(DATABASE_TABLE, coloumns,KEY_ROWID + "=" + l, null, null, null, null);
        if (c != null) {
            c.moveToFirst();
            String nickname = c.getString(2);
               // since name is  in position 2 ie 3rd coloumn
            return nickname;
        }
        return null;
    }
// ==================== edit ===================
    public void updateentry(long smodify, String namestr, String nickstr) {
        // TODO Auto-generated method stub
        ContentValues cvupdate = new ContentValues(); // Bundle for writting the database fields
        cvupdate.put(KEY_NAME, namestr); // put the values passed to ContentValues
        cvupdate.put(KEY_NICKNAME, nickstr); // put the values passed to ContentValues
        db.update(DATABASE_TABLE, cvupdate, KEY_ROWID + "="+ smodify, null); // specify where to be changed

    }

// ==================== delete ===================
    public void deleteentry(long ldelete) {
        // TODO Auto-generated method stub
        db.delete(DATABASE_TABLE, KEY_ROWID + "="
                                       + ldelete, null);
    }  }

No comments:

Post a Comment