public class DatabaseHandler extends SQLiteOpenHelper { // All Static variables // Database Version private static final int DATABASE_VERSION = 1 ; // Database Name private static final String DATABASE_NAME = "contactsManager" ; // Contacts table name private static final String TABLE_CONTACTS = "contacts" ; // Contacts Table Columns names private static final String KEY_ID = "id" ; private static final String KEY_NAME = "name" ; private static final String KEY_PH_NO = "phone_number" ; public DatabaseHandler(Context context) { super (context, DATABASE_NAME, null , DATABASE_VERSION); } // Creating Tables @Override public void onCreate(SQLiteDatabase db) { String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "(" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT," + KEY_PH_NO + " TEXT" + ")" ; db.execSQL(CREATE_CONTACTS_TABLE); } // Upgrading database @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // Drop older table if existed db.execSQL( "DROP TABLE IF EXISTS " + TABLE_CONTACTS); // Create tables again onCreate(db); } /** * All CRUD(Create, Read, Update, Delete) Operations */ // Adding new contact void addContact(Contact contact) { SQLiteDatabase db = this .getWritableDatabase(); ContentValues values = new ContentValues(); values.put(KEY_NAME, contact.getName()); // Contact Name values.put(KEY_PH_NO, contact.getPhoneNumber()); // Contact Phone // Inserting Row db.insert(TABLE_CONTACTS, null , values); db.close(); // Closing database connection } // Getting single contact Contact getContact( int id) { SQLiteDatabase db = this .getReadableDatabase(); Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID, KEY_NAME, KEY_PH_NO }, KEY_ID + "=?" , new String[] { String.valueOf(id) }, null , null , null , null ); if (cursor != null ) cursor.moveToFirst(); Contact contact = new Contact(Integer.parseInt(cursor.getString( 0 )), cursor.getString( 1 ), cursor.getString( 2 )); // return contact return contact; } // Getting All Contacts public List List new ArrayList // Select All Query String selectQuery = "SELECT * FROM " + TABLE_CONTACTS; SQLiteDatabase db = this .getWritableDatabase(); Cursor cursor = db.rawQuery(selectQuery, null ); // looping through all rows and adding to list if (cursor.moveToFirst()) { do { Contact contact = new Contact(); contact.setID(Integer.parseInt(cursor.getString( 0 ))); contact.setName(cursor.getString( 1 )); contact.setPhoneNumber(cursor.getString( 2 )); // Adding contact to list contactList.add(contact); } while (cursor.moveToNext()); } // return contact list return contactList; } // Updating single contact public int updateContact(Contact contact) { SQLiteDatabase db = this .getWritableDatabase(); ContentValues values = new ContentValues(); values.put(KEY_NAME, contact.getName()); values.put(KEY_PH_NO, contact.getPhoneNumber()); // updating row return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?" , new String[] { String.valueOf(contact.getID()) }); } // Deleting single contact public void deleteContact(Contact contact) { SQLiteDatabase db = this .getWritableDatabase(); db.delete(TABLE_CONTACTS, KEY_ID + " = ?" , new String[] { String.valueOf(contact.getID()) }); db.close(); } // Getting contacts Count public int getContactsCount() { String countQuery = "SELECT * FROM " + TABLE_CONTACTS; SQLiteDatabase db = this .getReadableDatabase(); Cursor cursor = db.rawQuery(countQuery, null ); cursor.close(); // return count return cursor.getCount(); } } |
Tuesday, 28 August 2012
Create DataBase in Android using SQL Lite
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment