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

}

更多相关文章

  1. 获取定位数据
  2. android获取网络数据
  3. Fragment与FragmentActivity间的数据通讯详细解决方案
  4. android之SQLite数据库insert操作
  5. 利用android自带的JSONObject解析json数据
  6. android 以编程的方式使用SQLite数据库 执行CRUD(创建 读取 更新
  7. android操作sqlite3的blob字段,显示数据中的图片
  8. Android中内容提供者ContentProvider实现数据库增删改查
  9. android中如何解析没有Key的Json数据

随机推荐

  1. 设置Android状态栏的颜色
  2. android 配置属性
  3. Android--Selector、shape详解 (
  4. Android控制水平方向字体缩放android:tex
  5. Android表情功能
  6. Android 利用TCP通信 实现环境数据显示及
  7. Android 图形系统及其应用
  8. Android中TextView如何实现水平和垂直滚
  9. TextView的android:maxHeight,android:min
  10. android游戏编程的学习笔记(以植物大战僵