sql >> Databasteknik >  >> RDS >> SQLite

Bästa praxis för lös koppling mellan data och användargränssnitt i Android - Adapter, Filter, CursorLoader och ContentProvider

I Android, Adapter fungerar som en brygga mellan vyn och datamodellen. Du kan visa n TextViews i antingen en ListView eller en GridView , och när användaren lägger till eller tar bort en anteckning uppdateras den lokala databasen eller serverdatabasen först. När webbtjänstanropet och/eller den lokala databasuppdateringen har slutförts läggs den nya data till den underliggande Adapter . View uppdateras sedan genom att anropa adapter.notifyDataSetChanged() . Detta skulle vara sättet att göra det.

Tillvägagångssätt:

  • Om du uppdaterar den lokala SQLite databas kan du överväga att använda en CursorAdpater för att lagra data för View , eftersom den direkt mappar posterna i den lokala databasen till View .
  • Om du använder en ContentProvider , är det till och med möjligt att kombinera en CursorAdapter med en LoaderManager och en CursorLoader :dessa ansluts till Activity / Fragment livscykel och övervaka den underliggande ContentProvider för ändringar som publiceras automatiskt i View i en separat tråd.
  • Det är också möjligt att använda ett Filter i kombination med Adapter att definiera en dynamisk mekanism som sorterar datainmatningarna i farten. Filtreringen utförs av Filter på en separat tråd, enligt en fråga som angetts av användaren, eventuellt i enAutoCompleteTextView .

Referenser:

  • Se Hämta en lista över kontakter handledning. Exemplet här hämtar en uppsättning kontakter från kontakternas ContentProvider baserat på en dynamisk, alfabetisk sökning av användaren. Den använder sig av CursorAdapter , CursorLoader och LoaderManager för att övervaka och uppdatera data, och det visar dessa sökresultat i en ListView .
  • Se även Android-sökning i realtid (omedelbar) med filterklass exempel, som visar hur ett Filter ska användas.
  • Android AutoCompleteTextView med anpassad adapterfiltrering .
  • Android AutocompleteTextView med ArrayAdapter och Filter .



  1. LocalDB-distribution på klientdator

  2. Förstå Android.coms självstudie för att spara data i SQL-databaser

  3. Hur man bygger om en inkonsekvent PostgreSQL-slav

  4. Prestandagränser för logiska replikeringslösningar