SQLite
 sql >> Database >  >> RDS >> SQLite

Best practice per l'accoppiamento libero tra dati e interfaccia utente in Android:Adapter, Filter, CursorLoader e ContentProvider

In Android, l'Adapter funge da ponte tra la vista e il modello dati. Potresti visualizzare il n TextViews in una ListView o una GridView e quando l'utente aggiunge o elimina una nota, il database locale o del server viene prima aggiornato. Al completamento della chiamata del servizio web e/o dell'aggiornamento del database locale, i nuovi dati vengono aggiunti all'Adapter sottostante . La View viene quindi aggiornato chiamando adapter.notifyDataSetChanged() . Questo sarebbe il modo per farlo.

Approcci:

  • Se si aggiorna il SQLite locale database, potresti prendere in considerazione l'utilizzo di un CursorAdpater per conservare i dati per la View , poiché associa direttamente le voci nel database locale alla View .
  • Se si utilizza un ContentProvider , è anche possibile combinare un CursorAdapter con un LoaderManager e un CursorLoader :questi si collegano a Activity / Fragment ciclo di vita e monitorare il ContentProvider sottostante per le modifiche che vengono pubblicate automaticamente nella View su un thread separato.
  • È anche possibile utilizzare un Filter insieme all'Adapter per definire un meccanismo dinamico che ordina al volo le voci di dati. Il filtraggio viene eseguito dal Filter su un thread separato, secondo una query inserita dall'utente, possibilmente in un AutoCompleteTextView .

Riferimenti:

  • Consulta Recupero di un elenco di contatti tutorial. L'esempio qui recupera una serie di contatti dai contatti ContentProvider basato su una ricerca dinamica e alfabetica da parte dell'utente. Fa uso di CursorAdapter , CursorLoader e LoaderManager per monitorare e aggiornare i dati e visualizza i risultati della ricerca in una ListView .
  • Vedi anche la Classe di ricerca in tempo reale (istantanea) Android con filtro esempio, che mostra come un Filter deve essere utilizzato.
  • Android AutoCompleteTextView con filtro adattatore personalizzato .
  • Android AutocompleteTextView utilizzando ArrayAdapter e Filter .