在我的应用程序中,我正在获取数据库被锁定。
我尝试使用其他帖子中提供的解决方案,但找不到合适的解决方案,这就是我发布这个问题的原因。
这是 onCreate
DBAdapter db = new DBAdapter(this.getApplicationContext());
dialoge = new Progress_Dialog(this);
dialoge.setCancelable(false);
try {
db.createDataBase();
} catch (IOException e) {
e.printStackTrace();
}
这是创建数据库方法
public void createDataBase() throws IOException{
boolean dbExist = checkDataBase();
if(!dbExist){
this.getReadableDatabase();
try {
copyDataBase();
} catch (IOException e) {
e.printStackTrace();
throw new Error("Error copying database");
}
}
}
以下是检查数据库方法
private boolean checkDataBase(){
SQLiteDatabase checkDB = null;
try{
String myPath = DB_PATH + DB_NAME;
String myPath2 = DB_PATH + DB_NAME2;
checkDB = SQLiteDatabase.openDatabase(myPath, null,
SQLiteDatabase.OPEN_READWRITE);
if(checkDB != null){
checkDB.close();
}
checkDB = SQLiteDatabase.openDatabase(myPath2, null,
SQLiteDatabase.OPEN_READWRITE);
}catch(SQLiteException e){
// e.printStackTrace();
//database does't exist yet.
System.out.print("SQLiteException "+e.toString());
}
if(checkDB != null){
checkDB.close();
}
return checkDB != null ? true : false;
}
请帮助我。