Android SQLite Example

Sqlite helper class helps us to manage database creation and version management.SQLiteOpenHelper takes care of all database management activities. To use it,
1.Override onCreate(), onUpgrade() methods of SQLiteOpenHelper. Optionally override onOpen() method.
2.Use this subclass to create either a readable or writable database and use the SQLiteDatabase's four API methodsinsert(), execSQL(), update(), delete() to create, read, update and delete rows of your table.

Example to create a MyEmployees table and to select and insert records:

public class MyDatabaseHelper extends SQLiteOpenHelper {

    private static final String DATABASE_NAME = "DBName";

    private static final int DATABASE_VERSION = 2;

    // Database creation sql statement
    private static final String DATABASE_CREATE = "create table MyEmployees
                                 ( _id integer primary key,name text not null);";

    public MyDatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    // Method is called during creation of the database
    @Override
    public void onCreate(SQLiteDatabase database) {
        database.execSQL(DATABASE_CREATE);
    }

    // Method is called during an upgrade of the database,
    @Override
    public void onUpgrade(SQLiteDatabase database,int oldVersion,int newVersion){
        Log.w(MyDatabaseHelper.class.getName(),
                         "Upgrading database from version " + oldVersion + " to "
                         + newVersion + ", which will destroy all old data");
        database.execSQL("DROP TABLE IF EXISTS MyEmployees");
        onCreate(database);
    }
}

Now you can use this class as below,

public class MyDB{  

private MyDatabaseHelper dbHelper;  

private SQLiteDatabase database;  

public final static String EMP_TABLE="MyEmployees"; // name of table 

public final static String EMP_ID="_id"; // id value for employee
public final static String EMP_NAME="name";  // name of employee
/** 
 * 
 * @param context 
 */  
public MyDB(Context context){  
    dbHelper = new MyDatabaseHelper(context);  
    database = dbHelper.getWritableDatabase();  
}


public long createRecords(String id, String name){  
   ContentValues values = new ContentValues();  
   values.put(EMP_ID, id);  
   values.put(EMP_NAME, name);  
   return database.insert(EMP_TABLE, null, values);  
}    

public Cursor selectRecords() {
   String[] cols = new String[] {EMP_ID, EMP_NAME};  
   Cursor mCursor = database.query(true, EMP_TABLE,cols,null  
            , null, null, null, null, null);  
   if (mCursor != null) {  
     mCursor.moveToFirst();  
   }  
   return mCursor; // iterate to get each value.
}
}

Now you can use MyDB class in you activity to have all the database operations. The create records will help you to insert the values similarly you can have your own functions for update and delete.


http://stackoverflow.com/questions/12015731/android-sqlite-example


BTW:

Whenever you want to just open your database, you need to use this:

myDatabase = myOpenHelper.getWritableDatabase();

This won't create a new database. It would just return the instance of existing database on which you can do Read/Write operations.

Refer this to get a firm idea of how creating database works in Sqlite. Hope it helps.



Another good example:

http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值