sql >> Database >  >> RDS >> SQLite

Aanbevolen manier/volgorde om gegevens van een webservice te lezen, die gegevens te ontleden en in een SQLite-database in te voegen

Ik besloot naar je toe te komen omdat jij de experts bent

eerst i am not expert en ook i am not knowledgeable je kunt meer deskundige mensen vinden dan ik, maar dit is mijn mening hope to give you some help .

vergeet allereerst AsyncTask . te gebruiken om te downloaden omdat het moet worden gebruikt voor korte achtergrondtaken die niet zoals die van jou zijn. Ik denk dat de hoeveelheid bestanden die je wilt downloaden behoorlijk groot is. (ik denk van wel)

controleer downloadmanager van google om te zien hoe het werkt, kan het u helpen.

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

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

als je gebruik wilt maken van service gebruik unbound service omdat u niet wilt dat de service door Android of de gebruiker wordt vernietigd wanneer de gebruiker de apps sluit? ik denk dat je je gegevens op welke manier dan ook wilt hebben.

om efficiënt te zijn raad ik deze stappen aan:

a. Lees een rustgevende service om de klantgegevens op te halen

b. wanneer u klantgegevens ontvangt:

  • maak een andere service of thread om een ​​rustgevende service te lezen om de artikelgegevens op te halen

  • Parseer de reactie op Json Objects op uw oude service of thread

nu heb je 2 services of threads die gelijktijdig worden uitgevoerd, dus volg de stappen die voor de hand liggen insert parse en zo, op elke service of thread.

waarom combineer ik a en d niet? omdat ik denk dat gebruikers niet graag lang wachten achter de voortgangsbalk voor downloaden.

om uw gegevens in de database in te voegen, gebruik transaction en ik raad je aan het volgende te gebruiken:

http://greendao-orm.com/

het is efficiënter ORM dan andere voor database en u krijgt geen db-implementatie.

Als de activiteit waarmee de service is gestart expliciet wordt geannuleerd of wordt verborgen door een andere activiteit, moet de service een manier hebben om de gebruiker te laten weten dat het proces is voltooid. Hoe zou ik dat kunnen implementeren?

gebruik melding:

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

Terwijl al deze lange verwerking op de achtergrond plaatsvindt, moet ik een soort indicator (een ProgressDialog) tonen. Dit is de reden waarom ik heb gekozen voor het gebruik van een Bound Service`

hoe kan ik de gebruikersinterface updaten van een niet-gebonden service?`

Gebruik een LocalBroadCastManager , of in het algemeen BroadCastReciever

Gebruikersinterface voor Android-updateactiviteit van service

In J2ME heb ik iets soortgelijks gedaan, en als ik zoiets als de 6 stappen zet die ik hierboven heb genoemd, worden ze allemaal opeenvolgend uitgevoerd, dat wil zeggen, de een na de ander. Is het hetzelfde in Android?

dit hangt af van je stappen, als je mijn idee volgt, voer je concurrently uit en als u uw idee uitvoert, voert u sequentially uit .

Veel succes.



  1. Service Broker configureren voor asynchrone verwerking

  2. Een tabel hernoemen in Microsoft Access

  3. Krijg toegang tot de mening van experts over de MVP-top van 2020

  4. KIES * WAAR NIET BESTAAT