В соответствии с предыдущим вопросом, который я задал (см. это), удаление и повторное -создание таблиц не будет работать очень хорошо, если я внесу изменения и добавлю новые данные после того, как я распространил приложение, потому что пользователи потеряют все свои данные.
Есть ли рекомендуемая стратегия для решения этой проблемы и/или у вас есть несколько примеров того, что я должен сделать, чтобы справиться с этой проблемой?
Спасибо
ИЗМЕНИТЬ:
Это было бы что-то вроде этого
@Override
public void onUpgrade (SQLiteDatabase db, ConnectionSource connectionSource, int oldVersion, int newVersion){
// TODO Auto-generated method stub
//This is why I'm currently trying
while(oldVersion < newVersion){
switch(oldVersion){
case 2:
//add new datas from version 2 here
break;
case 3:
//add new datas from version 3 here
break;
default:
break;
}
oldVersion++;
}
/*
try {
Log.i(DatabaseHelper.class.getName(), "onUpgrade");
TableUtils.dropTable(connectionSource, Category.class, true);
TableUtils.dropTable(connectionSource, Level.class, true);
TableUtils.dropTable(connectionSource, Hint.class, true);
TableUtils.dropTable(connectionSource, HintCount.class, true);
TableUtils.dropTable(connectionSource, Question.class, true);
// after we drop the old databases, we create the new ones
onCreate(db, connectionSource);
} catch (SQLException e) {
Log.e(DatabaseHelper.class.getName(), "Can't drop databases", e);
throw new RuntimeException(e);
}
*/
}