SQLite数据库开发—3个类搞定android数据库开发
一、几个关键类 1、SQLiteDatabase:android.database.sqlite.SQLiteDatebase:数据库类,用来操作数据库。 2、SQLiteOpenHelper:android.database.sqlite.SQLiteOpenHelper:数据库帮助类,用来创建数据库、及数据库表、获取数据库对象。 3、Cursor:android.database.Cursor:记录集游标。用来操作记录集。 二、实现 1、通过数据库帮助类创建数据库、表。 //自定义类继承于数据库帮助类 class SqliteHelper extends SQLiteOpenHelper { //要创建的表名 public static final String TB_NAME="channel"; //当实例化一个数据库帮助对象时,会调用构造函数,当数据库不存在时,就会创建数据库,然后打开数据库(过程已经被封装起来了) public SqliteHelper(Context context,String name,CursorFactory factory,int version) { super(context,name,factory,version); } //数据库创建完成后,在调用onCreate函数,创建表 @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE IF NOT EXISTS "+ TB_NAME+"("+ ID+" integer primary key,"+ NAME+" varchar,"+ URL+" varchar"+ ")" ); Log.e("Database","onCreate"); } //检查构造函数的版本号,若传入的版本号高于当前的,就会执行onUpgrade()方法来更新数据库和版本号。 @Override public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TB_NAME); onCreate(db); Log.e("Database","onUpgrade"); } } } SQLiteOpenHelper 的构造函数,当数据库不存在时,就会创建数据库,然后打开数据库(过程已经被封装起来了),再调用onCreate (SQLiteDatabase db)方法来执行创建表之类的操作。当数据库存在时,SQLiteOpenHelper 就不会调用onCreate (SQLiteDatabase db)方法了,它会检测版本号,若传入的版本号高于当前的,就会执行onUpgrade()方法来更新数据库和版本号 2、获取数据库对象 3、操作数据库表 查询:Cursor cursor = db.query("...."); while(cursor.moveToNext()) { int per = cursor.getInt(0);//获取第一列的值 String name = cursor.getString(1)//获取第二列的值 } cursor.close(); db.close(); 插入: ContentValues values = new ContentValues(); 删除: db.delete(SqliteHelper.TB_NAME,NAME +"='"+name+"'",null); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |