Java 有没有办法在android中刷新SQLite数据库文件中的更改?
我已经创建了一个非常大的应用程序,它使用了很多SQLite读/写功能。由于我无法轻松地在手机中查看数据库,我在应用程序中具有备份功能,可以将db文件上传到服务器(用于开发我的本地计算机) 起初,我在服务器和手机上都有初始数据库状态。然后我在电话数据库中做了一些更改(添加了一些内容)。当我列出数据时,我可以看到列出的新内容 然后我想备份数据库-在运行备份之前我已经记录了所有内容-数据库文件从何处获取(它是/data/user/0/APPLICATION\u PACKAGE/databases/database\u FILENAME)。我还删除了服务器上的所有文件。备份完成后,我检查了服务器上的新db文件-文件大小(以字节为单位)匹配,但文件中没有任何更改 我说好吧,也许,不知怎么的,它没有被冲红。我已经关闭了应用程序,再次运行,列出数据以查看是否有更改(以及是否有更改),再次运行备份,并在检查服务器上的新数据库文件时,再次无更改 这怎么可能?有没有办法将更改刷新到db文件中,以便我可以定期备份它?很可能启用了wal(预写日志记录)模式。要禁用它,您需要执行以下操作:Java 有没有办法在android中刷新SQLite数据库文件中的更改?,java,android,android-sqlite,Java,Android,Android Sqlite,我已经创建了一个非常大的应用程序,它使用了很多SQLite读/写功能。由于我无法轻松地在手机中查看数据库,我在应用程序中具有备份功能,可以将db文件上传到服务器(用于开发我的本地计算机) 起初,我在服务器和手机上都有初始数据库状态。然后我在电话数据库中做了一些更改(添加了一些内容)。当我列出数据时,我可以看到列出的新内容 然后我想备份数据库-在运行备份之前我已经记录了所有内容-数据库文件从何处获取(它是/data/user/0/APPLICATION\u PACKAGE/databases/da
public class MyDbHelper extends SQLiteOpenHelper {
//...
@Override
public void onOpen(SQLiteDatabase db) {
db.disableWriteAheadLogging();
super.onOpen(db);
}
//...
}
最有可能启用wal(预写日志记录)模式。要禁用它,您需要执行以下操作:
public class MyDbHelper extends SQLiteOpenHelper {
//...
@Override
public void onOpen(SQLiteDatabase db) {
db.disableWriteAheadLogging();
super.onOpen(db);
}
//...
}
谢谢!谢谢谢谢你!。。。我花了两天时间来看看我错过了什么,或者检查我是不是疯了,还是生活在暮色地带:)你救了我一年,不是一天:)谢谢!谢谢谢谢你!。。。我花了两天时间来看看我错过了什么,或者检查我是不是疯了,还是生活在暮色地带:)你救了我一年,而不是一天:)