Android-SQLiteOpenHelper

来源:互联网 发布:淘宝上日本直邮靠谱吗 编辑:程序博客网 时间:2024/05/22 19:27

Android-SQLiteOpenHelper

一 概念
是对SOLiteDatabase的封装,主要用于建立和版本控制,方便我们去建立库表结构

二 使用方法
重新封装一个MySqliteOpenHelper类,来实现openOrCreateDatabase类的功能

`public void openOrCreateDatabase()    {         try        {                MyDatabaseOpenHelper _myDatabaseOpenHelper = new MyDatabaseOpenHelper(mContext, DATABASE_NAME, null, 2);            mSqLiteDatabase = _myDatabaseOpenHelper.getWritableDatabase();        } catch (Exception e)        {            // TODO: handle exception            Log.i("chengzhi log", "table exit");        }    }

MySqliteOpenHelper类继承SQLiteOpenHelper重写的方法:
onCreate创建表结构

@Override    public void onCreate(SQLiteDatabase arg0)    {        // TODO Auto-generated method stub        arg0.execSQL("create TABLE "+TABLE_NAME+"(_id INTEGER PRIMARY KEY AUTOINCREMENT,"+COLUMN_USER_NAME+" VARCHAR(50) NOT NULL, "+COLUMN_USER_ADDRESS+" VARCHAR(50) NOT NULL)");    }

onUpgrade方法用于创建表和控制表的版本

@Override    public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2)    {        // TODO Auto-generated method stub        //arg2为新版本  arg1位旧版本         if (2 == arg2)        {            arg0.execSQL("create TABLE Custom (_id INTEGER PRIMARY KEY AUTOINCREMENT,"+COLUMN_USER_NAME+" VARCHAR(50) NOT NULL, "+COLUMN_USER_ADDRESS+" VARCHAR(50) NOT NULL)");        }        else if (2 == arg1 && 1 == arg2)        {            arg0.execSQL("drop TABLE_NAME");        }    }
0 0
原创粉丝点击