官方NotePad实例学习--SQLiteOpenHelper的用法

一个帮助建立数据库和管理数据库版本的帮助类。
这是一个抽象类,子类必须实现onCreate和onUpgrade方法。
看NotePad中的用法:
private static final String DATABASE_CREATE =
        "create table notes (_id integer primary key autoincrement, "
        + "title text not null, body text not null);";

    private static final String DATABASE_NAME = "data";
    private static final String DATABASE_TABLE = "notes";
    private static final int DATABASE_VERSION = 2;

    private final Context mCtx;

    private static class DatabaseHelper extends SQLiteOpenHelper {

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

        @Override
        public void onCreate(SQLiteDatabase db) {

            db.execSQL(DATABASE_CREATE);
        }

        @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 notes");
            onCreate(db);
        }
    }

PS:
  • _id是主键,自动增长,一般用一个下划线标示。
  • DATABASE_VERSION 是新的版本号,必须大于0.
  • SQLiteOpenHelper中的 getWritableDatabase方法调用的时候,如果数据库没有建立,会调用onCreate方法。
  • 需要更新数据库的时候调用 onUpgrade方法,会删除原来的数据,并且重新调用onCreate方法。
  • close方法可以关闭数据库

你可能感兴趣的:(数据库,String,table,null,Integer,database)