Android 即使我清除数据并从6.0.1设备中删除应用程序,Sqlite数据库仍然存在
我的数据库实现是这样的Android 即使我清除数据并从6.0.1设备中删除应用程序,Sqlite数据库仍然存在,android,database,sqlite,android-6.0-marshmallow,Android,Database,Sqlite,Android 6.0 Marshmallow,我的数据库实现是这样的 public class DbHelper extends SQLiteOpenHelper { private static DbHelper mDbHelper; private Context context; public static synchronized DbHelper getInstance(Context context) { if (mDbHelper == null) { che
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上运行良好
有没有删除数据库的建议?我也有同样的问题,它困扰了我整整一天
卸载应用程序,然后重新启动手机。这解决了Marshmellow的问题。我也有同样的问题,它困扰了我一整天
卸载应用程序,然后重新启动手机。这就解决了Marshmellow上的问题。我在nexus 6P上也偶尔注意到了这一点,为了避免这个问题,我在卸载后重新启动了手机,然后手机就没有数据了。哎哟!我的问题也通过重新启动解决了。但我希望知道我的一些用户在更新到新版本时是否会遇到这个问题:当更新应用程序时,这是自动完成的,您只需增加db_版本,这将导致fire onUpgrade,您可以对当前数据库执行任何操作,添加/编辑/删除行、表…我已经这样做了,我在nexus 6P上也注意到了这一点,为了解决这个问题,我在卸载后重新启动了手机,然后它就不再有数据了!我的问题也通过重新启动解决了。但我希望知道我的一些用户在更新到新版本时是否会遇到这个问题:更新应用程序时,这是自动完成的,您只需增加db_版本,这将导致fire onUpgrade,您可以对当前数据库执行任何操作,添加/编辑/删除行、表……我已经完成了