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;
}
}