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

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

 Flo29 окт. 2012 г., 10:03
Обычно все должно быть удалено при удалении приложения. Как вы это проверили? Вы действительно удалили приложение вручную? Где вы храните данные в приложении?

Ответы на вопрос(5)

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

ласса DatabaseHelper

onCreate(sqLiteDatabase);

ожения

/**
     * 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();
    }

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

 Vishnu29 окт. 2012 г., 10:00
как вызвать этот метод, перед удалением приложения?
Решение Вопроса

вы должны реализовать полученную рассылку, например:

<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);

Вы можете увидеть больше об этой теме здесьСлушайте трансляцию перед удалением приложения

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

что это не обычная ситуация, потому что при удалении приложения - все БД удаляются автоматически. Но если этого не происходит - попробуйте очистить данные в Меню - Управление приложением - Ваше приложение - Очистить данные перед удалением.

Ваш ответ на вопрос