Dati Widget: ContentProvider o SharedPreferences?
-
13-10-2019 - |
Domanda
sto sviluppando un widget, ha bisogno sia per memorizzare i dati locali all'istanza widget e globali per tutti i widget (cache e dati comuni). Attualmente sto usando un impostando il suo file di sharedpreference a MYAPPNAME + WIDGETID PreferenceActivity, poi ho memorizzare i dati comuni (4/5 VAR) in prefs MYAPPNAME.
Ho visto un sacco di esempi in rete utilizzando ContentProvider per questo scopo, c'è qualche vantaggio? E 'più veloce o diverso in qualche modo a sharedpreferences? Siamo spiacenti ma la sua realtà non è chiaro.
Soluzione
La mia raccomandazione sarebbe, in ordine di, ehm, preferenza:
- SQLite (con o senza un fornitore di contenuti)
-
SharedPreferences
Il motivo? Le transazioni. SharedPreferences
sono solo memorizzate in un file XML. SQLite è transazionale. Mi fido di SQLite per l'integrità dei dati un po 'più di un file XML.
Tuttavia, non è necessario un fornitore di contenuti per gestire i dati in SQLite, anche se è possibile utilizzare uno se lo si desidera.