sql >> Databáze >  >> RDS >> SQLite

Doporučený způsob / příkaz číst data z webové služby, analyzovat tato data a vložit je do SQLite db

Rozhodl jsem se za vámi přijít, protože jste odborníci

za prvé i am not expert a také i am not knowledgeable můžete najít více odborníků než já, ale toto je můj názor hope to give you some help .

nejprve zapomeňte použít AsyncTask ke stažení, protože se musí používat pro krátké úlohy na pozadí, které nejsou jako ty vaše. Myslím, že množství souborů, které chcete stáhnout, je dost velké. (Myslím, že ano)

zkontrolujte downloadmanager google, abyste viděli, jak to funguje, může vám to pomoci.

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

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

pokud chcete použít service použijte unbound service protože nechcete, aby byla služba zničena Androidem nebo uživatelem, když uživatel zavře aplikace, že? Myslím, že chcete svá data získat jakýmkoli způsobem.

aby byl efektivní, doporučuji tyto kroky:

A. Přečtěte si uklidňující službu a načtěte data zákazníků

b. když získáte zákaznická data, proveďte:

  • vytvořte další službu nebo vlákno pro čtení uklidňující služby pro načtení dat článků

  • Analyzujte odpověď na objekty Json ve vaší staré službě nebo vláknu

nyní máte 2 služby nebo vlákna, která běží souběžně, takže postupujte podle kroků, které jsou zřejmé insert parse a tak u každé služby nebo vlákna.

proč nekombinuji a a d? protože si myslím, že uživatel nerad čeká mnoho času za ukazatelem průběhu stahování.

pro vložení dat do databáze použijte transaction a doporučuji vám použít:

http://greendao-orm.com/

je to efektivnější ORM než ostatní pro databázi a získáte zdarma implementaci db.

Pokud je aktivita, která službu spustila, výslovně zrušena nebo je skryta jinou aktivitou, služba musí mít způsob, jak dát uživateli vědět, že proces skončil. Jak bych to mohl implementovat?

použijte oznámení:

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

Zatímco celé to dlouhé zpracování probíhá na pozadí, budu muset ukázat nějaký indikátor (ProgressDialog) To je důvod, proč jsem se rozhodl pro použití Bound Service`

jak mohu aktualizovat uživatelské rozhraní z nevázané služby?`

Použijte LocalBroadCastManager , nebo obecně BroadCastReciever

Uživatelské rozhraní aktivity aktualizace Androidu ze služby

V J2ME jsem udělal něco podobného, ​​a když vložím něco jako 6 kroků, které jsem zmínil výše, všechny se provedou postupně, to znamená jeden po druhém. Je to stejné v Androidu?

to závisí na vašich krocích, pokud budete postupovat podle mého nápadu, spustíte concurrently a pokud spustíte svůj nápad, spustíte ho sequentially .

Hodně štěstí.



  1. Jak přidat omezení NOT NULL v MySQL

  2. Tabulka jako argument funkce PostgreSQL

  3. Služba DMS pro migraci databáze AWS

  4. Nahrazení kurzorů SQL alternativami, abyste se vyhnuli problémům s výkonem