我的数据库实现是这样的
public class DbHelper extends SQLiteOpenHelper {
private static DbHelper mDbHelper;
private Context context;
public static synchronized DbHelper getInstance(Context context) {
if (mDbHelper == null) {
checkDataBase(context);
mDbHelper = new DbHelper(context.getApplicationContext());
Log.d(log, context.getDatabasePath(DB_NAME).getPath());
}
return mDbHelper;
}
public DbHelper(Context context) {
super(context, DB_NAME, null, version);
this.context = context;
}
}
我在excel文件中放置了onCreate
方法的一些初始数据。清除数据并删除应用程序后,当我从Android Studio安装应用程序时,我的行为就像有一个数据库,从不调用onCreate
方法。它还会从旧的excel文件中提取旧数据。清除数据时必须删除数据库。
我在Logcat中记录路径,它说:/data/user/0/com.mypackage.app/databases/dbname
我认为在我的设备中有一个缓存使数据库处于活动状态。它仅出现在我的6.0.1设备上。它在5.1.1
上工作正常有关删除数据库的建议吗?
答案 0 :(得分:4)
我也有同样的问题,这让我困扰了整整一天。
卸载应用程序然后重新启动手机。这解决了Marshmellow的问题。