如何保留预定义的db文件并在android中使用SQLiteDatabase类打开它?

时间:2016-06-30 18:37:18

标签: android sqlite android-studio android-sqlite

我目前正在使用SQLiteDatabase myDatabase=this.openOrCreateDatabase("conference",MODE_PRIVATE,null);在应用端打开数据库,使用myDatabase.execQuery()执行查询。现在当我用不同的设备测试时,我发现当我在其他手机上安装apk文件时,我用execQuery()编写的数据库没有携带到其他手机。

我希望解决这个问题。我假设我必须在raw文件夹中的某处保留一个已经准备好的.db文件,然后从那里打开数据库。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

你应该尝试为应用程序而不是数据库实现Singleton类,因为数据库是在android中创建的,你不能将它们添加为原始数据库

单身类的例子

 public class CrimeLab {
    private static CrimeLab sCrimeLab;

    private List<Crime> mCrimes;
    public static CrimeLab get(Context context) {
        ...
    }
    private CrimeLab(Context context) {
        mCrimes = new ArrayList<>();
    }
    public List<Crime> getCrimes() {
        return mCrimes;
    }
    public Crime getCrime(UUID id) {
        for (Crime crime : mCrimes) {
            if (crime.getId().equals(id)) {
                return crime;
            }
        }
        return null;
    }
}