あなたが専門家なので、私はあなたのところに来ることにしました
最初のi am not expert
また、i am not knowledgeable
私よりも多くの専門家を見つけることができますが、これは私の意見です hope to give you some help
。
まず、AsyncTask
の使用を忘れてください ダウンロードするのは、あなたのような短いバックグラウンドジョブに使用する必要があるためです。ダウンロードするファイルの量はかなり多いと思います。(そう思います)
downloadmanager
を確認してください それがどのように機能するかを見るためにグーグルのそれがあなたを助けるかもしれません。
http://developer.android.com/reference/android/app/DownloadManager.html
http://blog.vogella.com/2011/06/14/android-downloadmanager-example/
service
を使用する場合 unbound service
を使用する ユーザーがアプリを閉じたときにAndroidやユーザーがサービスを破壊したくないからですか?とにかくデータを取得したいと思います。
効率的にするために、次の手順をお勧めします:
a。安らかなサービスを読んで顧客データを取得する
b。顧客データを取得したら、次のことを行います:
-
別のサービスまたはスレッドを作成して、記事データを取得するためのRESTfulサービスを読み取ります
-
古いサービスまたはスレッドのJsonオブジェクトへの応答を解析します
これで、同時に実行される2つのサービスまたはスレッドがあるので、明らかなinsert
の手順に従います。 parse
など、各サービスまたはスレッドで。
aとdを組み合わせてみませんか?ユーザーはダウンロードの進行状況バーの後ろで多くの時間を待つのが好きではないと思うからです。
データをデータベースに挿入するには、transaction
を使用します 使用することをお勧めします:
http://greendao-orm.com/
より効率的なORM
データベースに関しては他のデータベースよりも優れており、データベースの実装から解放されます。
サービスを開始したアクティビティが明示的にキャンセルされているか、別のアクティビティによって非表示になっている場合、サービスには、プロセスが終了したことをユーザーに通知する方法が必要です。どうすればそれを実装できますか?
使用通知:
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)を表示する必要があります。これが、バウンドサービスの使用を選択した理由です`
アンバウンドサービスからUIを更新するにはどうすればよいですか? `
LocalBroadCastManager
を使用する 、または一般的にBroadCastReciever
サービスからのAndroidアップデートアクティビティUI
J2MEでも同様のことを行いましたが、上記の6つのステップのようなものを配置すると、すべてが順番に、つまり次々に実行されます。 Androidでも同じですか?
これはあなたのステップに依存します、あなたが私の考えに従うならば、あなたはconcurrently
を実行します アイデアを実行する場合は、sequentially
を実行します 。
幸運を祈ります。