SQLite
 sql >> база данни >  >> RDS >> SQLite

Най-добра практика за хлабава връзка между данни и потребителски интерфейс в Android - адаптер, филтър, CursorLoader и ContentProvider

В Android, Adapter действа като мост между изгледа и модела на данните. Можете да покажете n TextViews в ListView или GridView и когато потребителят добави или изтрие бележка, първо се актуализира локалната или сървърната база данни. След завършване на извикването на уеб услугата и/или актуализацията на локалната база данни, новите данни се добавят към основния Adapter . View след това се обновява чрез извикване на adapter.notifyDataSetChanged() . Това би бил начинът да го направите.

Подходи:

  • Ако актуализирате локалния SQLite база данни, можете да помислите за използването на CursorAdpater за съхраняване на данните за View , тъй като директно съпоставя записите в локалната база данни към View .
  • Ако използвате ContentProvider , дори е възможно да се комбинира CursorAdapter сLoaderManager и CursorLoader :те се включват в Activity / Fragment жизнен цикъл и наблюдавайте основния ContentProvider за промени, които се публикуват автоматично в View в отделна тема.
  • Възможно е също да използвате Filter във връзка с Adapter за да дефинирате динамичен механизъм, който сортира въведените данни в движение. Филтрирането се извършва от Filter в отделна нишка, според заявка, въведена от потребителя, вероятно в AutoCompleteTextView .

Препратки:

  • Вижте Извличане на списък с контакти урок. Примерът тук извлича набор от контакти от thecontacts ContentProvider въз основа на динамично търсене по азбучен ред от потребителя. Той използва CursorAdapter , CursorLoader иLoaderManager за наблюдение и актуализиране на данните и показва тези резултати от търсене в ListView .
  • Вижте също Търсене в реално време (незабавно) с филтър за Android пример, който показва как Filter трябва да се използва.
  • Android AutoCompleteTextView с персонализирано филтриране на адаптер .
  • Android AutocompleteTextView с помощта на ArrayAdapter и Filter .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. execSQL() с UPDATE не се актуализира

  2. Копиране на sqlite в активи на android studio не работи

  3. NullPointerException на getReadableDatabase()

  4. Разрешаване на потребителите да имат достъп само до определени таблици в моя доставчик на съдържание

  5. Избор на база данни за създаване на две свързани таблици?