在项目开发中,我们往往会遇到数据库需要存储的内容过多,有的甚至大于1GB的情况,这时我们需要把数据库从默认的缓存位置移到本地的非缓存位置,即使用外置数据库
外置数据库使用的方法如下:
public class DBdao {
private Context context;
private File dbHistory = new File(Environment
.getExternalStorageDirectory().toString()
+ "/xxx/db/xxx.db");// 指定外置数据库路径
private SQLiteDatabase sqLiteDatabase = null;
public DBdao(Context context) {
super();
this.context = context;
sqLiteDatabase = SQLiteDatabase.openOrCreateDatabase(dbHistory, null);
}
//单例模式使用数据库
private SQLiteDatabase getInstance() {
if (sqLiteDatabase == null) {
sqLiteDatabase = SQLiteDatabase.openOrCreateDatabase(dbHistory,
null);
}
return sqLiteDatabase;
}
/** 创建用户信息表格 */
public synchronized void createUsers() {
SQLiteDatabase db = getInstance();
// 用户信息表格
db.execSQL("create table if not exists user (account text primary key,pwd text,time long);");
}
/** 插入用户的账号密码 */
public synchronized void insertUser(String account, String password) {
SQLiteDatabase db = getInstance();
db.execSQL(
"replace into user (account,pwd,time) values(?,?,"
+ System.currentTimeMillis() + ");", new String[] {
account, password });
}
/** 关闭数据库 */
public synchronized void closeDb(){
SQLiteDatabase db = getInstance();
db.close();
}
}