我目前正在使用SQLiteDatabase myDatabase=this.openOrCreateDatabase("conference",MODE_PRIVATE,null);
在应用端打开数据库,使用myDatabase.execQuery()
执行查询。现在当我用不同的设备测试时,我发现当我在其他手机上安装apk文件时,我用execQuery()编写的数据库没有携带到其他手机。
我希望解决这个问题。我假设我必须在raw文件夹中的某处保留一个已经准备好的.db
文件,然后从那里打开数据库。
我该怎么做?
答案 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;
}
}