Saya memutuskan untuk datang kepada Anda karena Anda ahlinya
i am not expert
dan juga i am not knowledgeable
Anda dapat menemukan lebih banyak orang yang ahli daripada saya, tetapi ini adalah pendapat saya hope to give you some help
.
pertama-tama lupa menggunakan AsyncTask
untuk mengunduh karena harus digunakan untuk pekerjaan latar belakang pendek tidak seperti milik Anda, saya pikir jumlah file yang ingin Anda unduh cukup besar. (Saya kira begitu)
periksa downloadmanager
dari google untuk melihat cara kerjanya dapat membantu Anda.
http://developer.android.com/reference/android/app/DownloadManager.html
http://blog.vogella.com/2011/06/14/android-downloadmanager-example/
jika Anda ingin menggunakan service
gunakan unbound service
karena Anda tidak ingin layanan dihancurkan oleh android atau pengguna saat pengguna menutup aplikasi bukan? saya rasa Anda ingin mendapatkan data Anda dengan cara apa pun.
agar efisien saya sarankan langkah-langkah ini:
sebuah. Baca layanan yang tenang untuk mengambil Data Pelanggan
b. ketika Anda mendapatkan data Pelanggan lakukan :
-
buat layanan atau utas lain untuk Membaca layanan yang tenang untuk mengambil Data Artikel
-
Parsing respons ke Objek Json di layanan atau utas lama Anda
sekarang Anda memiliki 2 layanan atau utas yang berjalan secara bersamaan jadi ikuti langkah-langkah yang jelas insert
parse
dan seterusnya, pada setiap layanan atau utas.
mengapa saya tidak menggabungkan a dan d? karena menurut saya pengguna tidak suka menunggu lama di belakang bilah kemajuan unduhan.
untuk memasukkan data Anda ke database gunakan transaction
dan saya sarankan Anda menggunakan:
http://greendao-orm.com/
lebih efisien ORM
daripada yang lain untuk database dan Anda mendapatkan gratis dari implementasi db.
Jika aktivitas yang memulai layanan dibatalkan secara eksplisit atau disembunyikan oleh aktivitas lain, layanan harus memiliki cara untuk memberi tahu pengguna bahwa proses telah selesai. Bagaimana saya bisa menerapkannya?
gunakan pemberitahuan:
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
Sementara semua pemrosesan yang lama ini berlangsung di latar belakang, saya harus menunjukkan semacam indikator (ProgressDialog) Inilah alasan saya memilih untuk menggunakan Layanan Terikat`
bagaimana saya bisa memperbarui UI dari Layanan Tidak Terikat?`
Gunakan LocalBroadCastManager
, atau secara umum BroadCastReciever
UI aktivitas pembaruan Android dari layanan
Di J2ME saya telah melakukan sesuatu yang serupa, dan ketika saya meletakkan sesuatu seperti 6 langkah yang saya sebutkan di atas, semuanya dieksekusi secara berurutan, yaitu , satu demi satu. Apakah sama di Android?
ini tergantung pada langkah Anda, jika Anda mengikuti ide saya, Anda menjalankan concurrently
dan jika Anda menjalankan ide Anda, Anda akan menjalankan sequentially
.
Semoga Sukses.