Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 重新启动应用程序后,SQLite数据消失_Android_Database_Sqlite_Android Sqlite - Fatal编程技术网

Android 重新启动应用程序后,SQLite数据消失

Android 重新启动应用程序后,SQLite数据消失,android,database,sqlite,android-sqlite,Android,Database,Sqlite,Android Sqlite,我只是想知道下面的代码。消失是否与文件路径有关?解释一下就好了 public Database(Context context) { String path = context.getDatabasePath(DB_NAME).getPath(); File file = new File(path); if (file.exists()) { file.delete(); } dbHelper = new mSQLiteOpenHel

我只是想知道下面的代码。消失是否与文件路径有关?解释一下就好了

public Database(Context context)
{
    String path = context.getDatabasePath(DB_NAME).getPath();

    File file = new File(path);
    if (file.exists()) {
        file.delete();
    }

    dbHelper = new mSQLiteOpenHelper(context, DB_NAME, null, DB_VERSION);
    db = dbHelper.getWritableDatabase();
   clearTable();
}

每当创建数据库实例时,首先要删除现有数据库,即:-

String path = context.getDatabasePath(DB_NAME).getPath();
File file = new File(path);
if (file.exists()) {
    file.delete();
}
然后继续并使用以下内容创建数据库:-

dbHelper = new mSQLiteOpenHelper(context, DB_NAME, null, DB_VERSION);
db = dbHelper.getWritableDatabase();
clearTable();
我建议删除第一个找到路径的语句并删除数据库文件。i、 e.使用:-

public Database(Context context)
{
    dbHelper = new mSQLiteOpenHelper(context, DB_NAME, null, DB_VERSION);
    db = dbHelper.getWritableDatabase();
    clearTable();
}

我首先想到的是(不知道更多关于逻辑流的信息——什么时候是
数据库
调用?),为了得到对象
db
,你要这样做::
if(file.exists()){file.delete();}
,然后调用
clearTable()
。这似乎只是删除了文件!!并从
DB\u TABLE\u NAME
表中删除所有数据!!