Android provides one of the method to store data using SqlLite database .So we will create a simple database and work on it.In this tutorial we will create a database and look all the method to work with it.
We are creating a table named Contact with the following fields.
Contact Table Structure
Writing Class
Before you go further you need to write your Contact class with all getter and setter methods to maintain single contact as an object.
We are creating a table named Contact with the following fields.
Contact Table Structure
Writing Class
Before you go further you need to write your Contact class with all getter and setter methods to maintain single contact as an object.
Contact .java -------------- package com.androidgreeve.androidsqlite; public class Contact { //private variables int _id; String _name; String _phone_number; // Empty constructor public Contact(){ } // constructor public Contact( int id, String name, String _phone_number){ this ._id = id; this ._name = name; this ._phone_number = _phone_number; } // constructor public Contact(String name, String _phone_number){ this ._name = name; this ._phone_number = _phone_number; } // getting ID public int getID(){ return this ._id; } // setting id public void setID( int id){ this ._id = id; } // getting name public String getName(){ return this ._name; } // setting name public void setName(String name){ this ._name = name; } // getting phone number public String getPhoneNumber(){ return this ._phone_number; } // setting phone number public void setPhoneNumber(String phone_number){ this ._phone_number = phone_number; } } Writing SQLite Database Handler ClassWe need to write our own class to handle all database CRUD(Create, Read, Update and Delete) operations.1. Create a new project by going to File ⇒ New Android Project. 2. Once the project is created, create a new class in your project src directory and name it as DatabaseHandler.java ( Right Click on src/package ⇒ New ⇒ Class) 3. Now extend your DatabaseHandler.java class from SQLiteOpenHelper.
4. After extending your class from SQLiteOpenHelper you need to override two methods onCreate() and onUpgrage() onCreate() – These is where we need to write create table statements. This is called when database is created. onUpgrade() – This method is called when database is upgraded like modifying the table structure, adding constraints to database etc., 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); } (Create, Read, Update and Delete)Now we need to write methods for handling all database read and write operations. Here we are implementing following methods for our contacts table.
Inserting new RecordThe addContact() method accepts Contact object as parameter. We need to build ContentValues parameters using Contact object. Once we inserted data in database we need to close the database connection.
Note If you Face any problem /error comment below For downloading source code subscribe to feeds and you will receive the code to your mail. Next Post Will Contains "Sqllite Database With multiple Table." |
4 comments
Thanks Man I liked it!
Can u please Send me the code vrijesh@gmail.com Thank u once again.
Is there a reason the getContact(), getAllcontacts() and updateContact() methods don't call db.close() when they finish? Thanks!
hey man your code is really helpful if you put it in some code snippet like this..
http://www.androprogrammer.com
EmoticonEmoticon