publicclassMyDataBaseAdapter{//用于打印log

privatestaticfinalStringTAG=“MyDataBaseAdapter”;

//表中一条数据的名称

publicstaticfinalStringKEY_ID=“_id”;

//表中一条数据的内容

publicstaticfinalStringKEY_NUM=“num”;

//表中一条数据的id

publicstaticfinalStringKEY_DATA=“data”;

//数据库名称为data

privatestaticfinalStringDB_NAME=“Examples_06_06.db”;

//数据库表名

privatestaticfinalStringDB_TABLE=“table1″;

//数据库版本

privatestaticfinalintDB_VERSION=1;

//本地Context对象

privateContextmContext=null;

//创建一个表

privatestaticfinalStringDB_CREATE=“CREATETABLE”+DB_TABLE+”(”+KEY_ID+”INTEGERPRIMARYKEY,”+KEY_NUM+”INTERGER,”+KEY_DATA+”TEXT)”;

//执行open()打开数据库时,保存返回的数据库对象

privateSQLiteDatabasemSQLiteDatabase=null;

//由SQLiteOpenHelper继承过来

privateDatabaseHelpermDatabaseHelper=null;

privatestaticclassDatabaseHelperextendsSQLiteOpenHelper{

/*构造函数-创建一个数据库*/

DatabaseHelper(Contextcontext){

//当调用getWritableDatabase()

//或getReadableDatabase()方法时

//则创建一个数据库

super(context,DB_NAME,null,DB_VERSION);

}

/*创建一个表*/

@Override

publicvoidonCreate(SQLiteDatabasedb){

//数据库没有表时创建一个

db.execSQL(DB_CREATE);

}

/*升级数据库*/

@Override

publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){

db.execSQL(“DROPTABLEIFEXISTSnotes”);

onCreate(db);

}

}

/*构造函数-取得Context*/

publicMyDataBaseAdapter(Contextcontext){

mContext=context;

}

//打开数据库,返回数据库对象

publicvoidopen()throwsSQLException{

mDatabaseHelper=newDatabaseHelper(mContext);

mSQLiteDatabase=mDatabaseHelper.getWritableDatabase();

}

//关闭数据库

publicvoidclose(){

mDatabaseHelper.close();

}

/*插入一条数据*/

publiclonginsertData(intnum,Stringdata){

ContentValuesinitialValues=newContentValues();

initialValues.put(KEY_NUM,num);

initialValues.put(KEY_DATA,data);

returnmSQLiteDatabase.insert(DB_TABLE,KEY_ID,initialValues);

}

/*删除一条数据*/

publicbooleandeleteData(longrowId){

returnmSQLiteDatabase.delete(DB_TABLE,KEY_ID+“=”+rowId,null)>0;

}

/*通过Cursor查询所有数据*/

publicCursorfetchAllData(){

returnmSQLiteDatabase.query(DB_TABLE,newString[]{KEY_ID,KEY_NUM,KEY_DATA},null,null,null,null,null);

}

/*查询指定数据*/

publicCursorfetchData(longrowId)throwsSQLException{

CursormCursor=mSQLiteDatabase.query(true,DB_TABLE,newString[]{KEY_ID,KEY_NUM,KEY_DATA},KEY_ID+“=”+rowId,null,null,null,null,null);

if(mCursor!=null){

mCursor.moveToFirst();

}

returnmCursor;

}

/*更新一条数据*/

publicbooleanupdateData(longrowId,intnum,Stringdata){

ContentValuesargs=newContentValues();

args.put(KEY_NUM,num);

args.put(KEY_DATA,data);

returnmSQLiteDatabase.update(DB_TABLE,args,KEY_ID+“=”+rowId,null)>0;

}

}