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

Актуализиране на данните за дейността от услугата, когато е на пауза

Трудният, но правилен начин да направите това е да създадете свой собствен персонализиран ContentProvider за вашето приложение и актуализирайте всички данни, получени от уеб услугите и насочени известия към този ContentProvider . Когато Activity се връща на преден план, той се актуализира с новите данни, предоставени от ContentProvider .

Трудно е защото правите персонализиран ContentProvider е много работа. Това е правилното начин, защото е в съответствие с поведението на мобилните приложения и с архитектурата на Android:да кажем, че потребителят активира уеб услуга или някаква задача с интензивно изчисление и след това отхвърля приложението; или кажете, че пристига push известие и изисква данните на приложението да бъдат актуализирани и показани. И в двата случая Activity на приложението s може вече да не е на преден план, а да е Service може да се използва за извършване на някои операции извън потребителския интерфейс. Сега в края на тази операция Service прави промени в данните чрез ContentProvider , и когато потребителят активира отново приложението, Activity получават новите си данни от ContentProvider .

За да цитирам официалния урок:

Доставчиците на съдържание са стандартният интерфейс, който свързва данни в един процес с код, изпълняван в друг процес.

Като разработчик винаги трябва да приемате, че потребителят може да извика приложение по всяко време и да го отхвърли по всяко време. Независимо дали е Activity е на преден план или не, данните на приложението трябва да бъдат правилно актуализирани и поддържани.

Собствените приложения на Google използват персонализиран ContentProvider с. Gmail приложението по-специално използва своя ContentProvider за да получавате нови имейли, когато е налична мрежова връзка и да показвате имейли офлайн. Facebook , WhatsApp &Twitter Приложенията за Android също използват ContentProvider с.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвам Room Persistence Library с предварително попълнена база данни?

  2. SQLite въвежда функцията UNIXEPOCH().

  3. Entity Developer и ADO.Net доставчици на данни вече поддържат Entity Framework Core 5

  4. Android:Как да поискате курсор за опресняване на ListView след изтриване на ред в базата данни?

  5. как да получите изображение от drawable според техните имена в базата данни sqlite и след това да го покажете в изглед на списък