下面列出了android.database.sqlite.SQLiteDiskIOException#android.database.sqlite.SQLiteCantOpenDatabaseException 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private boolean existsDatabase()
{
SQLiteDatabase database = null;
boolean isExist = true;
try
{
database = SQLiteDatabase.openDatabase(DB_PATH, null, SQLiteDatabase.OPEN_READONLY);
}
catch (SQLiteCantOpenDatabaseException e)
{
// No database
Log.d("Database", "Database not found!");
isExist = false;
}
finally
{
if ( database != null )
database.close();
}
return isExist;
}
@NonNull
@VisibleForTesting
/*package*/ SQLiteDatabase getDatabase() {
if (mInjectedDatabase != null) {
return mInjectedDatabase;
} else {
try {
return mDbHelper.getWritableDatabase();
} catch (SQLiteCantOpenDatabaseException e) {
CAT.e(e);
// that's bad, delete the database and try again, otherwise users may get stuck in a loop
new JobStorageDatabaseErrorHandler().deleteDatabaseFile(DATABASE_NAME);
return mDbHelper.getWritableDatabase();
}
}
}
@Override
public SQLiteDatabase getReadableDatabase() {
throw new SQLiteCantOpenDatabaseException();
}
@Override
public SQLiteDatabase getWritableDatabase() {
throw new SQLiteCantOpenDatabaseException();
}