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

Opdater aktivitetsdata fra tjenesten, når den er sat på pause

Den svære, men korrekte måde at gøre dette på, er at bygge din egen tilpassede ContentProvider for din app og opdatere alle data modtaget fra webtjenester og push-meddelelser til denne Indholdsudbyder . Når Aktivitet kommer tilbage i forgrunden, opdaterer den sig selv med de nye data leveret af ContentProvider .

Det er hårdt fordi man laver en tilpasset ContentProvider er meget arbejde. Det er det korrekte måde, fordi det er i overensstemmelse med adfærden for mobilapplikationer og med Android-arkitekturen:lad os sige, at en bruger aktiverer en webservice eller en eller anden beregningsintensiv opgave og afviser derefter appen; eller sig, at der ankommer en push-meddelelse og kræver, at appens data opdateres og vises. I begge tilfælde appens Aktivitet s er muligvis ikke længere i forgrunden, men en Service kan bruges til at udføre nogle ikke-UI-handlinger. Nu i slutningen af ​​denne operation, Service foretager ændringer i dataene gennem ContentProvider , og når brugeren aktiverer appen igen, vises Aktivitet s får deres nye data fra ContentProvider .

For at citere den officielle vejledning:

Indholdsudbydere er standardgrænsefladen, der forbinder data i én proces med kode, der kører i en anden proces.

Som udvikler bør du altid gå ud fra, at brugeren til enhver tid kan påkalde en app og afvise den til enhver tid. Uanset om en Aktivitet er i forgrunden eller ej, skal appens data opdateres og vedligeholdes korrekt.

Googles egne apps bruger tilpasset ContentProvider s. Gmail app gør især brug af sin ContentProvider for at få nye e-mails, når netværksforbindelse er tilgængelig, og vise e-mails offline. Facebook , WhatsApp &Twitter Android-apps gør også brug af ContentProvider s.



  1. Brug af MySQL-triggere

  2. Importer CSV-fil direkte til MySQL

  3. Hvordan udfører man IF-sætning i SQL?

  4. Oracle SQL - Sådan hentes de højeste 5 værdier af en kolonne