我们在Android应用程序开发当中经常会用到数据库,一般在有两种主要开发思路。
第一种:每次需要对数据库操作的时候建立连接,操作完成后,马上关闭连接。
这个方式一般用于不怎么频繁操作数据库的情况,用完后马上关闭达到节省系统资源的目的。
第二种:应用程序一启动或在第一次使用数据库建立连接后,就始终保持数据库的连接而不关闭,知道退出该应用程序 。
这个方式一般常用频繁操作数据库,因为频繁的打开关闭数据库会影响程序的性能。
我们这博客主要是介绍第二种设计思路,即Sqlite数据库连接池的设计方案。
1》继承SQLiteOpenHelper类,实现它的相关重写方法,伪代码如下
public class XxxHelper extends SQLiteOpenHelper{
public void onCreate(SQLiteDatabase db)
{
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
}
}
2》定义一个封装类,用于维护SQLiteDatabase对象和其对数据库的所有操作(增,删,改,查等),伪代码如下:
public class XxxSQLiteDatabase{
private SQLiteDatabase mSQLiteDatabase = null;
private XxxHelper mDatabaseHelper = null;
public SQLiteDatabase openDatabase(){
mSQLiteDatabase = mDatabaseHelper.getReadableDatabase();
return mSQLiteDatabase;
}
public void insert(){}
public void query(){}
public void updat(){}
public void delete(){}
}
3》定义数据库连接池类,也是最关键的一个类,代码如下:
public class XxxSQLiteDatabasePool{
private int initialSQLiteDatabase = 2; // 连接池的初始大小
private int incrementalSQLiteDatabase = 2;// 连接池自动增加的大小
private int maxSQLiteDatabase = 10; // 连接池最大的大小
priva