Android 使用数据库 SQlite
packagecom.king.android.db;
importandroid.content.ContentValues;
importandroid.content.Context;
importandroid.database.Cursor;
importandroid.database.SQLException;
importandroid.database.sqlite.SQLiteDatabase;
importandroid.database.sqlite.SQLiteOpenHelper;
/**
*描述:数据库。。。
*作者:Andy.Liu
*时间:2012-8-2下午10:37:27
**/
publicclassMyDataBaseAdapter{
privatestaticfinalStringTAG="MyDataBaseAdapter";
privateContextmContext=null;
publicstaticfinalStringKEY_ID="_id";
publicstaticfinalStringKEY_NUM="num";
publicstaticfinalStringKEY_DATA="data";
privatestaticfinalStringDB_NAME="king.db";
privatestaticfinalStringTABLE_KING="king";
privatestaticfinalintDB_VERSION=1;
//创建表的语句
privatestaticfinalStringCREATE_TAB_KING=null;
//执行open()打开数据库,保存返回的数据库对象
privateSQLiteDatabasemSQlLiteDatabase=null;
//由SQLiteOpenHelper继承过来
privateDatabaseHelpermDatabaseHelper=null;
//继承SQLiteOpenHelper
privatestaticclassDatabaseHelperextendsSQLiteOpenHelper{
//构造函数创建数据库
publicDatabaseHelper(Contextcontext){
/**
*当调用getWriteableDatabase(),getReadableDatabase()方法时则创建一个数据库
*/
super(context,DB_NAME,null,DB_VERSION);
}
@Override/*创建数据表*/
publicvoidonCreate(SQLiteDatabasedb){
db.execSQL(CREATE_TAB_KING);
}
@Override//升级数据库
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){
db.execSQL("DROPTABLEIFEXISTSnotes");
onCreate(db);
}
}
//构造函数取得Context
publicMyDataBaseAdapter(Contextcontext){
this.mContext=context;
}
//打开数据库,返回数据库对象
publicvoidopen()throwsSQLException{
mDatabaseHelper=newDatabaseHelper(mContext);
mSQlLiteDatabase=mDatabaseHelper.getWritableDatabase();
}
//关闭数据库
publicvoidclose(){
mDatabaseHelper.close();
}
//插入一条数据
publiclonginsertData(intnum,Stringdata){
ContentValuesinitValues=newContentValues();
initValues.put(KEY_NUM,num);
initValues.put(KEY_DATA,data);
returnmSQlLiteDatabase.insert(TABLE_KING,KEY_ID,initValues);
}
//删除一条数据
publicbooleandeleteData(longrowId){
returnmSQlLiteDatabase.delete(TABLE_KING,KEY_ID+"="+rowId,null)>0;
}
//通过Cursor查询所有数据
publicCursorfetchAllData(){
returnmSQlLiteDatabase.query(TABLE_KING,newString[]{KEY_ID,KEY_NUM,KEY_DATA},null,null,null,null,null);
}
//查询指定数据
publicCursorfetchData(longrowId){
CursormCursor=mSQlLiteDatabase.query(true,TABLE_KING,newString[]{KEY_ID,KEY_NUM,KEY_DATA},KEY_ID+"="+rowId,null,null,null,null,null);
if(null!=mCursor){
mCursor.moveToFirst();
}
returnmCursor;
}
//更新一条数据
publicbooleanupdateData(longrowId,intnum,Stringdata){
ContentValuesargs=newContentValues();
args.put(KEY_NUM,num);
args.put(KEY_DATA,data);
returnmSQlLiteDatabase.update(TABLE_KING,args,KEY_ID+"="+rowId,null)>0;
}
}
更多相关文章
- 获取定位数据
- android获取网络数据
- Fragment与FragmentActivity间的数据通讯详细解决方案
- android之SQLite数据库insert操作
- 利用android自带的JSONObject解析json数据
- android 以编程的方式使用SQLite数据库 执行CRUD(创建 读取 更新
- android操作sqlite3的blob字段,显示数据中的图片
- Android中内容提供者ContentProvider实现数据库增删改查
- android中如何解析没有Key的Json数据