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

Препоръчителен начин / поръчка за четене на данни от уеб услуга, анализирайте тези данни и ги вмъкнете в SQLite db

Реших да дойда при вас, защото вие сте експерти

първо i am not expert и също i am not knowledgeable можете да намерите повече експерти от мен, но това е моето мнение hope to give you some help .

първо забравете да използвате AsyncTask за изтегляне, защото трябва да се използва за кратки фонови задачи, които не са като вашите, мисля, че количеството файл, който искате да изтеглите, е доста голямо. (мисля така)

проверете downloadmanager от Google, за да видите как работи, може да ви помогне.

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

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

ако искате да използвате service използвайте unbound service защото не искате услугата да бъде унищожена от android или потребител, когато потребителят затвори приложенията, нали? мисля, че искате да получите данните си по някакъв начин.

за да бъда ефективен, препоръчвам тези стъпки:

а. Прочетете спокойна услуга, за да извлечете данните на клиентите

б. когато получите клиентски данни, направете:

  • създайте друга услуга или нишка, за да прочетете спокойна услуга, за да извлечете данните за статии

  • Анализирайте отговора на Json обекти във вашата стара услуга или нишка

сега имате 2 услуги или нишки, които се изпълняват едновременно, така че следвайте стъпките, които очевидно insert parse и така за всяка услуга или нишка.

защо не комбинирам a и d? защото мисля, че потребителите не обичат да чакат много време зад лентата за напредък на изтеглянето.

за да вмъкнете вашите данни в базата данни, използвайте transaction и ви препоръчвам да използвате:

http://greendao-orm.com/

това е по-ефективно ORM отколкото други за база данни и се освобождавате от внедряването на db.

Ако дейността, която стартира услугата, е изрично анулирана или е скрита от друга дейност, услугата трябва да има начин да уведоми потребителя, че процесът е приключил. Как мога да приложа това?

използвайте известие:

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

Докато цялата тази дълга обработка се извършва на заден план, ще трябва да покажа някакъв индикатор (ProgressDialog) Това е причината да избера да използвам обвързана услуга

как мога да актуализирам потребителския интерфейс от необвързана услуга?`

Използвайте LocalBroadCastManager , или най-общо BroadCastReciever

Потребителски интерфейс за активност за актуализиране на Android от услуга

В J2ME съм правил нещо подобно и когато поставя нещо като 6-те стъпки, които споменах по-горе, всички те се изпълняват последователно, тоест една след друга. Същото ли е в Android?

това зависи от вашите стъпки, ако следвате идеята ми, изпълнявате concurrently и ако изпълните идеята си, ще стартирате sequentially .

Успех.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изтрийте заявка и опреснете в ListView в Android (sqlite)

  2. 2 начина за връщане на Unix Timestamp в SQLite

  3. SQLite - Промяна на таблица

  4. Android Studio 3.0 canary 1:SQL синтактична грешка

  5. Вземете първия понеделник от годината в SQLite