Это приложение для Android в Google использует следующий метод для обновления базы данных после замены файла базы данных резервной копией:
public void resetDbConnection() {
this.cleanup();
this.db =
SQLiteDatabase.openDatabase(
"/data/data/com.totsp.bookworm/databases/bookworm.db",
null, SQLiteDatabase.OPEN_READWRITE);
}
Я не создал это приложение, и яне уверен, что происходит.Я пытаюсь заставить эту идею работать в моем собственном приложении, но данные, кажется, кэшируются представлениями, и приложение продолжает показывать данные из базы данных, которая была заменена, даже после того, как я вызываю cleanup () и повторно открываю базу данных.Я должен прекратить и перезапустить активность, чтобы увидеть новые данные.
Я пытался вызвать сделать недействительной в моем представлении TabHost, которое в значительной степени содержит все.Я думал, что представления будут перерисовывать и обновлять свои базовые данные, но это также не дало ожидаемого результата.
В итоге я перезапустил упражнение программно, и это работает, но это, похоже, решительная мера.Есть ли лучший способ?