ormlite数据库存放sd卡,android卸载应用保留数据的方法

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里面的代码有点问题,运行报错所以做了一些修改,欢迎指正

你可能感兴趣的:(android开发心得)