SQLite数据库开发—3个类搞定android数据库开发

前端之家收集整理的这篇文章主要介绍了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、获取数据库对象
//实例化数据库帮组类
sqliteHelper dbHelper=new sqliteHelper(context,DB_NAME,null,DB_VERSION);
//获得当前数据库
sqliteDatabase db= dbHelper.getWritableDatabase();

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();
values.put(NAME,name);
values.put(URL,url);
//插入新纪录
Long id = db.insert(sqliteHelper.TB_NAME,values);

删除

db.delete(sqliteHelper.TB_NAME,NAME +"='"+name+"'",null);

原文链接:https://www.f2er.com/sqlite/201115.html

猜你在找的Sqlite相关文章