前言
ormlite數據庫默認放在databases下,有時候可能需要使用預置好數據的數據庫,可能就需要更改默認路徑了。
聲明
歡迎轉載,但請保留文章原始出處:)
博客園:http://www.cnblogs.com
農民伯伯: http://over140.cnblogs.com
正文
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);
}
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.exists()) {
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(
SQLiteHelperOrm.DATABASE_PATH, null);
SQLiteHelperOrm orm = new SQLiteHelperOrm( this);
orm.onCreate(db);
db.close();
}
if (!f.exists()) {
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(
SQLiteHelperOrm.DATABASE_PATH, null);
SQLiteHelperOrm orm = new SQLiteHelperOrm( this);
orm.onCreate(db);
db.close();
}
注意close掉數據庫。
結束
搜索過一次,沒收到結果,過了一段時間又搜了一次,找到了類似的結果,感謝stackoverflow.com。