Ho una strega WCF che fornisce alcuni dati JSON e quindi la salverò nel database locale. Funziona bene Possiedo un'attività che riempie i dati da un database locale a un listview che funziona bene.Qual è il modo migliore in Android per eliminare tutte le righe da una tabella
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);
}
Quello che non riesco a capire è quale sarebbe il modo migliore per eliminare tutte le righe prima di un'azione di sincronizzazione da un WCF.
ho potuto farlo ottenendo tutti Id di dal database poi trovare la riga URI e quindi usare:
getContentResolver().delete(uri, null, null)
Penso solo che ci deve essere un modo migliore che ho visto molti esempi in rete che utilizza la classe DBHelper ma non riesco a capire come accedere alla classe DBHelper dall'attività o sopra il ContentProvider
speranza che abbia un senso
se avete proprio ContentProvider poi 'getContentResolver(). Delete (URI, null, null)' è ok ... ma. .. uri non dovrebbe puntare a specifici "item" ma piuttosto a interi "dir" ('content: // com.authority/tablename/111' <= item uri,' content: // com.authority/tablename' <= dir uri) – Selvin
non hai bisogno di trovare tutti gli id del database se lo fai in questo modo. Tutto quello che devi fare è dargli l'uri del database e non un articolo specifico – tyczj
scusate se mi è stato detto che sono newbish :(@Selvin. La tua risposta è stata fatta. Ty. Fai una risposta così posso farlo eccetto il codice corretto è: 'getContentResolver(). delete (TodoContentProvider.CONTENT_URI, null, null);' – Jester