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

Getting started with IBM worklight Mobile App In Eclipse using Ionic / Angularjs

Install Eclipse and add IBM MobileFirst Platform Studio 7.1.0 .  You can follow the following steps : Goto Help > > Eclipse Market Place >> and search for IBM MobileFirst Platform Studio 7.1.0 . and u can add and install thet plugin and get started with ionic - angular app development. You can start the new project and so can add your Environment needed and start development. After creating the sample project you can add ionic bundle folder inside your application so that you get all the necessary features of ionic development. Details and other way of installation is explained here  

Spannable String in Android - URL Span ,Clickable Span, Rich-Style Formatting of Textview .....

See more Android Tutorials here....... Faster Loading images in GridViews or ListViews Spannable brings lots of possibility to TextView, includes displaying various appearance of a Text and onClick callbak. The SpannableString class allows you to easily format certain pieces which are called spans of a string, by applying CharacterStyle ie,color, font, ormake it a link . Here is an example where, explained how to use spannable string to give font size, color, linking a text via clickable span and through URL Span and to strike through the text. Lets go through the example : import android.os.Bundle; import android.text.SpannableString; import android.text.method.LinkMovementMethod; import android.text.style.ClickableSpan; import android.text.style.ForegroundColorSpan; import android.text.style.RelativeSizeSpan; import android.text.style.StrikethroughSpan; import android.text.style.URLSpan; import android.view.View; import android.widget.TextView; import android.widget.Toast; ...

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.lengt...