Подтвердить что ты не робот

Как лучше всего в Android удалить все строки из таблицы

У меня есть WCF-программа, которая предоставляет некоторые данные JSON, а затем я сохраняю ее в локальной базе данных. Работает отлично У меня есть активность, ведьма заполняет данные из локальной базы данных в список, который отлично работает.

public void fillData() {

    // Fields from the database (projection)
    // Must include the _id column for the adapter to work
    String[] from = new String[] { TodoTable.COLUMN_SUMMARY };
    // Fields on the UI to which we map
    int[] to = new int[] { R.id.label };

    getLoaderManager().initLoader(0, null, this);
    adapter = new SimpleCursorAdapter(this, R.layout.todo_row, null, from,
            to, 0);

    lw.setAdapter(adapter);
}

То, что я не могу понять, - это лучший способ удалить все строки перед действием синхронизации из WCF.

Я мог бы сделать это, получив все Id из базы данных, затем найдя URI строки, а затем используйте:

getContentResolver().delete(uri, null, null)

Я просто думаю, что должен быть лучший способ увидеть много примеров в сети, которые используют класс DbHelper, но я не могу понять, как получить доступ к классу dbHelper из Activity или через ContentProvider

Надеюсь, что имеет смысл

4b9b3361

Ответ 1

Используя DatabaseHelper, вы можете сделать следующее:

 dbHelper = new DatabaseHelper(context);
 database = dbHelper.getWritableDatabase();

public void clearTable()   {
    database.delete(TABLE, null,null);
}

Ответ 2

Try

<your-SQLite-instance>.execSQL("DELETE FROM <table_name>");

Это приведет к удалению всех строк из <table_name>

Ответ 3

Попробуйте использовать этот код для удаления всех строк в таблице:

database.delete(tablename, null,null);

Просто замените database для вашего имени db и tablename для таблицы, в которой вы хотите удалить строки

Ответ 4

Если вы просто хотите удалить все строки таблицы:

drop table if exists "tablename"

И затем заново создайте таблицу с соответствующими столбцами. Я лично считаю, что это намного проще.