Skip to main content

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);
    }  }

Comments

Popular posts from this blog

Passing Images between Activities in Android

in First Activity:
Intent intent=new Intent(FirstClass.this, SecondClass.class); Bundle bundle=new Bundle(); bundle.putInt("image",R.drawable.ic_launcher); intent.putExtras(bundle); startActivity(intent); in Second Acticity:
Bundle bundle=this.getIntent().getExtras(); int pic=bundle.getInt("image"); v.setImageResource(pic);another method:
in First Activity:
Drawable drawable=imgv.getDrawable(); Bitmap bitmap= ((BitmapDrawable)drawable).getBitmap(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos); byte[] b = baos.toByteArray(); Intent intent=new Intent(Passimage.this,myclass.class); intent.putExtra("picture", b); startActivity(intent); in Second Acticity:
Bundle extras = getIntent().getExtras(); byte[] b = extras.getByteArray("picture"); Bitmap bmp = BitmapFactory.decodeByteArray(b, 0, b.length); Image…

Get a single record from SQLite in ANDROID

For COMPLETE TUTORIALS see here :
in DATABASE HELPER class: 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; in sqlite.java : String s =editinfo.getText().toString(); long l=Long.parseLong(s); DBAdapter adapter=new DBAdapter(SQliteExample.this); adapter.open(); String returnedname=adapter.returnName(l); String returnednickname=adapter.returnickname(l); adapter.close(); editName.setText(returnedname); editNickName.setText(returnednickname);

How To Finish All Previous Activities in ANDROID ?

Some times we may need to close previous all activities before calling an intent, so that the previous activity do not loads on clicking the Android back button.Here is a simple sniffet for it.. Intent intent = new Intent(getApplicationContext(), MainClass.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent);