Spero che questo potrebbe aiutare qualcuno utilizzando Active Android.
per eliminare tutti i record in una tabella c'è un modo semplice.
1) Innanzitutto creare di classe "TruncatableModel" e si estendono tutti i vostri modelli di questa classe
public abstract class TruncatableModel extends Model {
public static void truncate(Class<? extends Model> type){
final String tableName = Cache.getTableInfo(type).getTableName();
// Delete all rows from table
ActiveAndroid.execSQL(String.format("DELETE FROM %s;", tableName));
// Reset ids
ActiveAndroid.execSQL(String.format("DELETE FROM sqlite_sequence WHERE name='%s';", tableName));
}
}
.. così dopo l'estensione, la mia classe del modello sarà simile.
@Table(name = "note")
public class Note extends TruncatableModel {
@Column(name ="idn")
public Integer idn;
@Column(name ="title")
public String title;
...
}
2) Ora posso cancellare tutti i record nel database "note" utilizzando questo codice.
Note.truncate(Note.class);
Questo sembra essere il modo più efficiente rispetto a qualsiasi altro metodo che ho provato.
fonte
2017-01-31 19:48:47
Stai chiedendo una soluzione completa. Questo è incoraggiato su Stackoverflow. Invece, scrivi il tuo codice e quando incontri un problema, (1) cerca una risposta, (2) chiedi solo se non lo hai trovato. –
Faccio una domanda specifica. come pulire la base. – ip696
Elimina il file di database –