Monday, 14 May 2012

Helper

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;
import android.util.Log;

public class DBBirthday {

    public static final String KEY_ROWID = "_id";
    public static final String KEY_NAME = "name";
    public static final String KEY_NO = "number";
    public static final String KEY_BIRTHDATE = "birthdate";
    public static final String KEY_EMAIL = "email";
    public static final String KEY_FACEBOOK_ID = "facebook_id";
    public static final String KEY_Message = "message";
    private static final String TAG = "DBClient";
   
    private static final String DATABASE_NAME = "BirthdaySMSDB";
    private static final String DATABASE_TABLE_Birthday = "birthday";
    private static final int DATABASE_VERSION = 2;

    private static final String BIRTHDAY_CREATE =
        "create table birthday (_id integer primary key autoincrement, "
        + "name text not null, number text not null," +
          "birthdate text not null,email text,facebook_id text,message text);";
   
    private final Context context;
    private DatabaseHelper DBHelper;
    private SQLiteDatabase db;

    public DBBirthday(Context ctx)
    {
        this.context = ctx;
        DBHelper = new DatabaseHelper(context);
    }
       
    private static class DatabaseHelper extends SQLiteOpenHelper
    {
        DatabaseHelper(Context context)
        {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }

        @Override
        public void onCreate(SQLiteDatabase db)
        {
            try {
                db.execSQL(BIRTHDAY_CREATE);
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
        {
            Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
                    + newVersion + ", which will destroy all old data");
            db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE_Birthday);
            onCreate(db);
        }
    }   

    //---opens the database---
    public DBBirthday open() throws SQLException
    {
        db = DBHelper.getWritableDatabase();
        return this;
    }

    //---closes the database---
    public void close()
    {
        DBHelper.close();
    }
   
    //---insert a contact into providers table in the database ---
    public long insertBirthday(String name, String number,String birthdate,String email,String facebook_id,String message)
    {
        ContentValues initialValues = new ContentValues();
        initialValues.put(KEY_NAME, name);
        initialValues.put(KEY_NO, number);
        initialValues.put(KEY_BIRTHDATE, birthdate);
        initialValues.put(KEY_EMAIL, email);
        initialValues.put(KEY_FACEBOOK_ID,facebook_id);
        initialValues.put(KEY_Message, message);
       
        return db.insert(DATABASE_TABLE_Birthday, null, initialValues);
    }

    //---deletes a particular contact in providers ---
    public boolean deleteBirthday(String delname)
    {
        boolean DEL_OK = false;
        Log.i("delrow",delname);               
        int delrow = db.delete(DATABASE_TABLE_Birthday, KEY_NAME + "=?",new String[]{delname.trim()});
        Log.i("delrow", String.valueOf(delrow));

        if (delrow == 1){
            DEL_OK = true;
        }
        return DEL_OK;      
    }

  //---updates a contact
    public boolean updateBrithday(String name,String number,String birthdate,String email,String facebook_id,String message)
    {
        ContentValues initialValues = new ContentValues();
        initialValues.put(KEY_NO, number);
        initialValues.put(KEY_BIRTHDATE, birthdate);
        initialValues.put(KEY_EMAIL, email);
        initialValues.put(KEY_FACEBOOK_ID,facebook_id);
        initialValues.put(KEY_Message, message);       
       
        return db.update(DATABASE_TABLE_Birthday, initialValues,
                KEY_NAME + " = '" + name.trim() + "'", null) > 0;
       
    }
    //---retrieves all providers contacts---
    public Cursor getBirthdayContacts()
    {
        return db.query(DATABASE_TABLE_Birthday, new String[] {KEY_ROWID, KEY_NAME,
                KEY_NO,KEY_BIRTHDATE,KEY_EMAIL,KEY_FACEBOOK_ID,KEY_Message}, null, null, null, null, null);
    }
   
  
    public Cursor getBirthday(String name)
    {
        return db.query(DATABASE_TABLE_Birthday,
                new String[] {KEY_ROWID, KEY_NAME,
                KEY_NO,KEY_BIRTHDATE,KEY_EMAIL,KEY_FACEBOOK_ID,KEY_Message},
                KEY_NAME + " = '" + name.trim() + "'",
                null, null, null, null,null);
       
    }
}

No comments:

Post a Comment