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

Anbefalet måde/ordre at læse data fra en webservice, parse disse data og indsætte dem i en SQLite db

Jeg besluttede at komme til dig, fordi du er eksperterne

først i am not expert og også i am not knowledgeable du kan finde flere eksperter end mig, men dette er min mening hope to give you some help .

først og fremmest glem at bruge AsyncTask at downloade, fordi det skal bruges til korte baggrundsjob, der ikke er som dine, jeg tror, ​​at mængden af ​​fil, du vil downloade, er ret stor. (det tror jeg)

tjek downloadmanager af google for at se, hvordan det virker, kan det hjælpe dig.

http://developer.android.com/reference/android/app/DownloadManager.html

http://blog.vogella.com/2011/06/14/android-downloadmanager-example/

hvis du vil bruge service brug unbound service fordi du ikke ønsker, at tjenesten skal ødelægges af Android eller bruger, når brugeren lukker apps, gør du? Jeg tror, ​​du vil have dine data på nogen måde.

For at være effektiv anbefaler jeg disse trin:

en. Læs en afslappende service for at hente kundedata

b. når du får kundedata gør :

  • opret en anden tjeneste eller tråd for at læse en afslappende tjeneste for at hente artikeldataene

  • Parse svaret til Json Objects på din gamle tjeneste eller tråd

nu har du 2 tjenester eller tråde, der kører samtidigt, så følg de trin, der åbenlyst insert parse og så på hver tjeneste eller tråd.

hvorfor kombinerer jeg ikke a og d? fordi jeg tror, ​​at brugeren ikke kan lide at vente meget tid bag download-statuslinjen.

Brug transaction for at indsætte dine data i databasen og jeg anbefaler, at du bruger:

http://greendao-orm.com/

det er mere effektivt ORM end andre til database og du får fri fra db implementering.

Hvis den aktivitet, der startede tjenesten, udtrykkeligt er annulleret eller er skjult af en anden aktivitet, skal tjenesten have en måde at lade brugeren vide, at processen er afsluttet. Hvordan kunne jeg implementere det?

brug notifikation:

http://developer.android.com/training/notify-user/build-notification.html

http://www.tutorialspoint.com/android/android_notifications.htm

http://www.vogella.com/tutorials/AndroidNotifications/article.html

Mens al denne lange behandling finder sted i baggrunden, bliver jeg nødt til at vise en slags indikator (en ProgressDialog) Dette er grunden til, at jeg valgte at bruge en bundet tjeneste`

hvordan kan jeg opdatere brugergrænsefladen fra en ubundet tjeneste?`

Brug en LocalBroadCastManager , eller generelt BroadCastReciever

Android-opdatering af aktivitets-UI fra tjenesten

I J2ME har jeg gjort noget lignende, og når jeg sætter noget som de 6 trin, jeg nævnte ovenfor, udføres de alle sekventielt, dvs. det ene efter det andet. Er det det samme i Android?

dette afhænger af dine trin, hvis du følger min idé, kører du concurrently og hvis du kører din idé, kører du sequentially .

Held og lykke.



  1. Eksempel på Oracle WHILE LOOP

  2. ORA-1114 kører Datapatch

  3. Vil du flette JSONB-værdier i PostgreSQL?

  4. Tildel Vælg på en visning ikke en basistabel, når basistabellen er i en anden database