Я считаю, что ваша проблема в том, что вызов для вставки элементов находится в методе onCreate . Метод onCreate будет запускаться автоматически только один раз при создании базы данных. Таким образом, код / строка insertItems(db);
будет выполняться только один раз.
Вы можете использовать onUpgrade для выполнения insertItems , отметив, что код должен проверить, что версия меняется с 1 на 2. В этом случае вы можете иметь: -
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (oldVersion < 2) {
insertItems(db);
}
// The database is still at version 1, so there's nothing to do be done here.
}
вместе с изменением версии на 2.
- Это предполагает
- что insertItems не будет добавлять дубликаты,
- что метод onUpgrade не удалит таблицы и вызовет onCreate при изменении версии с 1 на 2.
Лично на этом этапе может быть достаточно просто удалить приложение и выполнить повторный запуск (при условии, что новые элементы добавляются в код вставки вместо замены кода вставки и что другие существующие данные, если таковые имеются, могут быть потеряны или будут воссоздать).