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

农民伯伯:

但是本人发现在Application里面的代码有点问题,运行报错所以做了一些修改,欢迎指正