Как вызвать onUpgrade () в android, для работы с базой данных sqlite

Я следую некоторым статьям о манипуляциях с базами данных (sqlite) в android и сталкивался с проблемой, для которой я не могу найти решение.

По сути, я хочу, чтобы база данных воссоздавалась каждый раз при запуске приложения (в целях тестирования).

Если вы хотите обновлять базу данных каждый раз, вы можете попытаться вызвать onUpgrade manuallly в onCreate каждый раз и добавить логическую переменную, чтобы избежать бесконечных рекурсивных вызовов. (это отладочный код, поэтому вы должны пометить его комментарием // todo или что-то подобное, которое вас предупреждает.)

Или создайте метод destroyDB и добавьте его после

 DatabaseHandler database = new DatabaseHandler(this); 

который делает то же самое, что я сказал выше (вызывает onUpgrade), но вы избегаете бесконечных рекурсивных вызовов, и если вы не помните это, когда увидите destroyDB вы проверите, что делает этот метод.

Или измените версию вручную каждый раз, когда вам нужно проверить базу данных.

для воссоздания базы данных удалите приложение из управляющих приложений на устройстве. Но для проверки кода onupgrade измените константу для версии базы данных на нечто большее в конструкторе для SQLiteOpenHelper.

 //private static final int DATABASE_VERSION = 45; //private static final int DATABASE_VERSION = 46; private static final int DATABASE_VERSION = 47; public RidesDatabaseHandler(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); this.context = context; } 

и он автоматически вызовет метод onUpgrade. Говоря о onUpgrade, ознакомьтесь с этим методом обновления Adams