Android 如何使用使用数据库

一、如何得到SQLiteDatabase对象

当需要创建或打开一个数据库并获得数据库对象时,首先根据指定的文件名创建一个辅助对象,然后调用该对象的getWritableDatabase 或 getReadableDatabase方法 获得SQLiteDatabase 对象。 这个辅助对象就是SQLiteOpenHelper。

二、创建SQLiteOpenHelper类

 
  

private static final String DB_NAME = "user_profiles";
private static final String TABLE_NAME = "profiles";
private static final int DB_VERSION = 1;
private static final String DB_CREATE = "CREATE TABLE " + TABLE_NAME + " (" + ID
            + " integer primary key," + PROFILE_NAME + " varchar," + LOCAL_PORT + " varchar,"
            + PORT_MAPPING + " varchar," + IP + " varchar," + AGREEMENT + " varchar)";
private static class DataBaseManagementHelper extends SQLiteOpenHelper {
        DataBaseManagementHelper(Context context) {
 super(context, DB_NAME, null, DB_VERSION);
	//context:上下文
	//DB_NAME:数据库名称
	//CursorFactory factory:游标cursor工厂,此处可以自己定义传入的cursor,如不需要则传入null
	//version:创建数据库时定义的版本号
} @Override public void onCreate(SQLiteDatabase db) {
            db.execSQL(DB_CREATE);
	//当创建SQLiteOpenHelper时,自动执行onCreate()方法。
} @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
            onCreate(db);
	//当打开数据库时传入的版本号与当前的版本号不同时会调用该方法 	 
} }

 SQLiteDatabase db = myHelper.getWritableDatabase(); 这样我们就获得了SQLiteDatabase 对象db,可以对此进行操作了。需要注意的是根据不同的环境获取不同权限的对象。

调用getReadableDatabase 方法返回的并不总是只读数据库对象,一般来说该方法和getWriteableDatabase 方法的返回情况相同,只有在数据库仅开放只读权限或磁盘已满时才会返回一个只读的数据库对象。

 
  

你可能感兴趣的:(Android,SQL)