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

Bedste praksis for løs kobling mellem data og brugergrænseflade i Android - Adapter, Filter, CursorLoader og ContentProvider

I Android er Adapter fungerer som bro mellem visningen og datamodellen. Du kan vise n TextViews i enten en ListView eller en GridView , og når brugeren tilføjer eller sletter en note, opdateres den lokale eller serverdatabasen først. Efter afslutning af webservicekaldet og/eller den lokale databaseopdatering tilføjes de nye data til den underliggende Adapter . View opdateres derefter ved at kalde adapter.notifyDataSetChanged() . Dette ville være måden at gøre det på.

Tilgange:

  • Hvis du opdaterer den lokale SQLite database, kan du overveje at bruge en CursorAdpater for at opbevare dataene for View , da den direkte mapper indtastningerne i den lokale database til View .
  • Hvis du bruger en ContentProvider , er det endda muligt at kombinere en CursorAdapter med en LoaderManager og en CursorLoader :disse tilsluttes Activity / Fragment livscyklus og overvåg den underliggende ContentProvider for ændringer, der udgives automatisk til View på en separat tråd.
  • Det er også muligt at bruge et Filter i forbindelse med Adapter at definere en dynamisk mekanisme, der sorterer dataindtastningerne på farten. Filtreringen udføres af Filter på en separat tråd, som pr. en forespørgsel indtastet af brugeren, muligvis i enAutoCompleteTextView .

Referencer:

  • Se Hent en liste over kontakter tutorial. Eksemplet her henter et sæt kontakter fra kontaktpersonernes ContentProvider baseret på en dynamisk, alfabetisk søgning foretaget af brugeren. Den gør brug af CursorAdapter , CursorLoader og LoaderManager at overvåge og opdatere dataene, og det viser disse søgeresultater i en ListView .
  • Se også Android-søgning i realtid (øjeblikkelig) med filterklasse eksempel, som viser, hvordan et Filter skal bruges.
  • Android AutoCompleteTextView med tilpasset adapterfiltrering .
  • Android AutocompleteTextView ved hjælp af ArrayAdapter og Filter .



  1. ugyldig bytesekvens til kodning af UTF8

  2. Oracle skelner ikke mellem nul og tomme strenge?

  3. Sådan får du en beregnet kolonnes definition i SQL Server ved hjælp af T-SQL

  4. Oprettelse af en PostgreSQL-sekvens til et felt (som ikke er id'et for posten)