私は Android の初心者であることに言及し始めました。簡単な入門書を読み終えたばかりで、最初のアプリを実装する必要があります。このアプリは、注文を受けるために使用される予定です。ローカル データベースに保存するすべてのデータの中で、2 つのテーブルが最も重要です: Customers と Articles。後者はすべてのテーブルの中で最大です (約 20000 レコード)。アプリの主要なプロセスの 1 つであるフェッチユーザーがデバイスで日常の操作を開始するボタンを押したときに、アプリがオフラインで動作するために必要なすべてのデータ。
さて、プロセスは次のステップで構成されています。
a. a.安静なサービスを読み取り、顧客データを取得します
。Json オブジェクトへの応答を解析する
c. それらの顧客を Customers テーブルに挿入します
。記事データを取得するための安らかなサービスの読み取り
e.Json オブジェクトへの応答を解析します
f. それらの記事を記事テーブルに挿入します
これは私がやろうとしていたことです:
- すべての HTTP GET 要求を処理するヘルパー クラスを記述します。次に、Customers と Article のすべてのデータをダウンロードする必要があるたびに、このクラスを呼び出します。
- このプロセスはすべて時間がかかる可能性があるため、バックグラウンドで実行する必要があります。したがって、いくつかの提案に基づいて、このすべてのコードを Bound Service 内に配置します。
- この長い処理はすべてバックグラウンドで行われていますが、何らかのインジケーター (ProgressDialog) を表示する必要があります。これが、バウンド サービスの使用を選択した理由です。
これらのことのほとんどを別々に行う方法についての一般的な考えはわかったと思いますが、すべてをまとめることはまったく別の話だと思います。
これらは、パズルを組み立てる必要がある今私が持っている質問です。
- 説明されているプロセスの 6 つのステップすべてを実行する順序は正しい/効率的だと思いますか? 何か変更を加える必要があるとしたら、何を変更しますか?
- サービスを開始したアクティビティが明示的にキャンセルされるか、別のアクティビティによって隠されている場合、サービスには、プロセスが終了したことをユーザーに知らせる方法が必要です。どうすればそれを実装できますか?
- サービス内で SQLite DB に書き込むことは可能/推奨されますか? アクティビティ内で行う場合と同じですか?
- J2ME でも同様のことを行いました。上記の 6 つのステップのようなものを配置すると、それらはすべて順番に、つまり 1 つずつ実行されます。Androidでも同じですか?
あまり多くの質問をしないことを願っています。関連性が高いのでまとめてみました。
基本的に、この質問では、動作するコードを求めているわけではありません (ただし、サンプル コードを提供できれば問題ありません)。私が本当に求めているのは、いくつかの提案とガイダンスです。「ポイント 3 については、これが役立つと思います」 、 「この記事が役立つかもしれません」、「あれよりもこれを使った方がいいと思います」など。そういうこと。
あなたは専門家であり、私を正しい方向に導くために誰かが本当に必要なので、私はあなたに来ることにしました.
どうもありがとうございました。
PSこの質問を閉じないでください。何かを変更する必要があると思われる場合は、お知らせください。変更します。