Как очистить db, когда приложение удалено в android

Я использую базу данных для хранения сообщений, и если я удалю свое приложение и снова переустановить одно и то же приложение, db останется таким же, но я хочу очистить мою базу данных, как это решить?

Чтобы прослушать событие удаления, вам необходимо реализовать полученную трансляцию, например:

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".UninstallIntentActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.DELETE" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="package" /> </intent-filter> </activity> </application> 

А затем в UninstallIntentActivity вы должны использовать следующую строку для удаления своей базы данных:

 context.deleteDatabase(DATABASE_NAME); 

Вы можете узнать больше об этой теме. Listen Broadcast Перед удалением приложения

Надеюсь, это сработает для вас.

Ниже код может помочь вам удалить вашу базу данных из приложения

 /** * Re crate database * Delete all tables and create them again * */ public void resetTables(){ SQLiteDatabase db = this.getWritableDatabase(); // Delete All Rows db.delete(TABLE_NAME, null, null); db.close(); } 

Сделать один метод в классе, где вы обрабатываете средства обработки базы данных. Где вы создаете другие методы, такие как добавление, обновление и т. Д.

Все данные, включая базы данных, предпочтения, локальные файлы данных, хранящиеся во внутреннем хранилище, удаляются при удалении. Они останутся неизменными при обновлении приложения.

Я думаю, что это не обычная ситуация, потому что при удалении приложения все db удаляются автоматически. Но если этого не произойдет – попробуйте очистить данные в меню «Управление приложениями – ваше приложение» – очистить данные перед деинсталляцией.

В моем случае я просто забыл добавить ниже строку в методе onUpgrade класса DatabaseHelper

 onCreate(sqLiteDatabase); 
Intereting Posts
Как сделать отображение сетки горизонтально вертикально в андроиде? Подождите, пока не будут созданы фрагменты Eclipse перестает выделять ссылки через некоторое время Метод ICS SOAP для Android не работает? Как ввести «Negative Decimal Number» в EditText? Android Изменить цвет текста Spinner (отображаемый текст – нет элементов в spinner) Почему RecyclerView.notifyItemChanged () создаст новый ViewHolder и использует как старый ViewHolder, так и новый? Токен доступа удален в Android Android SDK 4.0 Как добавить пустое пространство в конец ListView? Как получить контекст в getView для адаптера для listview Как передать параметры OnClickListener? Как проверить внутреннее и внешнее хранилище, если они существуют Что может привести к тому, что в проекте MonoDevelop отсутствует свойство OutputPath для проекта ProjectName.csproj? Почему custom DialogPreference не запускается при прослушивании onSharedPreferenceChanged? SQLITE INSERT с ручным идентификатором (первичный ключ)