【发布时间】:2010-06-13 18:54:16
【问题描述】:
This Android application on Google用备份替换数据库文件后,使用如下方法刷新数据库:
public void resetDbConnection() {
this.cleanup();
this.db =
SQLiteDatabase.openDatabase(
"/data/data/com.totsp.bookworm/databases/bookworm.db",
null, SQLiteDatabase.OPEN_READWRITE);
}
我没有构建这个应用程序,我不确定会发生什么。 我试图让这个想法在我自己的应用程序中发挥作用,但数据似乎被视图缓存,并且应用程序继续显示来自被替换的数据库的数据,即使在我调用 cleanup() 并重新打开数据库之后也是如此。我必须终止并重新启动活动才能看到新数据。
我尝试在我的 TabHost 视图上调用 invalidate,它几乎包含了所有内容。我认为视图会重绘并刷新其基础数据,但这也没有达到预期的结果。
我最终以编程方式重新启动了活动,这很有效,但这似乎是一个激进的措施。有没有更好的办法?
【问题讨论】:
-
可能你必须重新查询你的游标和/或通知数据集的变化。
标签: android sqlite database-connection