ormlite数据库默认放在databases下,有时候可能需要使用预置好数据的数据库,可能就需要更改默认路径了。
1、继承OrmLiteSqliteOpenHelper:
public
class SQLiteHelperOrm
extends OrmLiteSqliteOpenHelper {
public
static
final String DATABASE_PATH = Environment
.getExternalStorageDirectory() + "/test.db";
@Override
public
synchronized SQLiteDatabase getWritableDatabase() {
return SQLiteDatabase.openDatabase(DATABASE_PATH,
null,
SQLiteDatabase.OPEN_READWRITE);
}
public
synchronized SQLiteDatabase getReadableDatabase() {
return SQLiteDatabase.openDatabase(DATABASE_PATH,
null,
SQLiteDatabase.OPEN_READONLY);
}
代码说明:
注意这里覆盖了getWritableDatabase和getReadDatabase,并且没有super。
2、Application里面创建数据库
File f =
new File(SQLiteHelperOrm.DATABASE_PATH);
if (!f.getParentFile().exists()) {
f.getParentFile().mkdirs();
}
if (!f.exists()) {
try {
f.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(
SQLiteHelperOrm.DATABASE_PATH,
null);
SQLiteHelperOrm orm =
new SQLiteHelperOrm(
this);
orm.onCreate(db);
db.close();
}
注意close掉数据库。
原文出处:
博客园:http://www.cnblogs.com
农民伯伯: http://over140.cnblogs.com
但是本人发现在Application里面的代码有点问题,运行报错所以做了一些修改,欢迎指正