查询android数据库操作,Android数据库操作

from eoe.cn

创建一个辅助类来简化你的数据库交互。考虑创建一个数据库适配器,来添加一个与数据库交互的包装层。它应该提供直观的、强类型的方法,如添加、删除和更新项目。数据库适配器还应该处理查询和对创建、打开和关闭数据库的包装。它还常用静态的数据库常量来定义表的名字、列的名字和列的索引。

importandroid.content.Context;

importandroid.database.*;

importandroid.database.sqlite.*;

importandroid.database.sqlite.SQLiteDatabase.CursorFactory;

importandroid.util.Log;

publicclassMyDBAdapter

{

privatestaticfinalStringDATABASE_NAME=“myDatabase.db”;

privatestaticfinalStringDATABASE_TABLE=“mainTable”;

privatestaticfinalintDATABASE_VERSION=1;

//该指数(关键)的列名为使用在哪里等条款.

publicstaticfinalStringKEY_ID=”_id”;

//那个人的姓名和列索引的每一列在你的数据库.

publicstaticfinalStringKEY_NAME=”name”;

publicstaticfinalintNAME_COLUMN=1;

//TODO:创造公共领域.

//SQL语句创建一个新的数据库.

privatestaticfinalStringDATABASE_CREATE=“createtable“+

DATABASE_TABLE+“(“+KEY_ID+“integerprimarykeyautoincrement,“+

KEY_NAME+“textnotnull);”;

//变量来存储数据库的实例

privateSQLiteDatabasedb;

//上下文关系的应用使用数据库.

privatefinalContextcontext;

//数据库开/升级助手

privatemyDbHelperdbHelper;

publicMyDBAdapter(Context_context){

context=_context;

dbHelper=newmyDbHelper(context,DATABASE_NAME,null,DATABASE_VERSION);

}

publicMyDBAdapteropen()throwsSQLException{

db=dbHelper.getWritableDatabase();

returnthis;

}

publicvoidclose(){

db.close();

}

publiclonginsertEntry(MyObject_myObject){

ContentValuescontentValues=newContentValues();

//TODO填写ContentValues代表新排

returndb.insert(DATABASE_TABLE,null,contentValues);

}

publicbooleanremoveEntry(long_rowIndex){

returndb.delete(DATABASE_TABLE,KEY_ID+“=”+_rowIndex,null)>0;

}

publicCursorgetAllEntries(){

returndb.query(DATABASE_TABLE,newString[]{KEY_ID,KEY_NAME},

null,null,null,null,null);

}

publicMyObjectgetEntry(long_rowIndex){

MyObjectobjectInstance=newMyObject();

//TODO返回一个指针从数据库和连续

//使用价值的实例,以填充MyObject

returnobjectInstance;

}

publicintupdateEntry(long_rowIndex,MyObject_myObject){

Stringwhere=KEY_ID+“=”+_rowIndex;

ContentValuescontentValues=newContentValues();

//TODO填写ContentValue立足于社会发展的新对象

returndb.update(DATABASE_TABLE,contentValues,where,null);

}

privatestaticclassmyDbHelperextendsSQLiteOpenHelper

{

publicmyDbHelper(Contextcontext,Stringname,CursorFactoryfactory,intversion){

super(context,name,factory,version);

}

//没有数据库中存在时调用

//磁盘和帮助类的需要

//创建一个新的.

@Override

publicvoidonCreate(SQLiteDatabase_db){

_db.execSQL(DATABASE_CREATE);

}

//有一个数据库时调用版本不匹配的意义

//这个版本的数据库磁盘上需要被升级

//目前的版本.

@Override

publicvoidonUpgrade(SQLiteDatabase_db,int_oldVersion,int_newVersion){

//log的版本升级.

Log.w(“TaskDBAdapter”,“Upgradingfromversion“+

_oldVersion+“to“+_newVersion+

“,whichwilldestroyallolddata”);

//升级现有的数据库,以符合新版本.

//多以前的版本,可以处理通过比较

//_oldVersion和_newVersion价值观。

//最简单的例子就是放弃旧桌子和创造

//新的.

_db.execSQL(“DROPTABLEIFEXISTS“+DATABASE_TABLE);

//产生一个新的.

onCreate(_db);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值