Webサービスを使用するアプリケーションでログインアクティビティを作成したいとします。要求を行うベストプラクティスは何ですか?IntentServiceとログインアクティビティのAsyncTask?
IntentServiceを使用する必要がありますか、AsynkTaskクラスを使用してメソッドをオーバーライドする必要がありますか?
Webサービスを使用するアプリケーションでログインアクティビティを作成したいとします。要求を行うベストプラクティスは何ですか?IntentServiceとログインアクティビティのAsyncTask?
IntentServiceを使用する必要がありますか、AsynkTaskクラスを使用してメソッドをオーバーライドする必要がありますか?
AsyncTask
を使用すると、コードをはるかに簡単にするのに役立ちます。 この場合、1つのクラスだけを別のクラスに使用します。この場合、最も簡単な方法でデータを転送します。
2番目のケースでは、インテントサービスでは、データ、タイムラグなどの書き込み/読み取り/収集/抽出が必要です。
あなたはあなたの要求が進行中であるかどうかをチェックすることができます回転 2.前に、要求をキャンセルすることができますし、再び起動していない 1. EDIT。 3.ログイン画面で回転を無効にすることができます。
はい、私は私の画面を回転させると再び呼び出しが行われます... –
@MateutAlin画面のインテントサービスを回転させても、再度呼び出すことができます。現在のデータが正しいかどうかをチェックする必要があります。要求する前に –
@MateutAlin私の更新された回答を読んでください – Vyacheslav
IntentServiceはバックグラウンドで実行されるため、ネットワークコール応答後にUIを更新する必要があるため、Aysncタスクを使用する必要があります。
あなたのケースでは、非同期タスクが優れています。
IntentService私たちは長いバックグラウンドで実行しているタスクのために使用します。
AsyncTaskは、クラス内で非同期アクションを実行するだけです。
IntentServiceは新しいサービスを実行し、必要な操作を行います。
AsyncTaskは、アクティビティ内で使用できるため、ターゲットアクティビティ(登録者、ユーザーエリアなど)にインテントを実行できるので、はるかに簡単です。
IntentServiceを使用する場合は、バインダを作成し、データを収集し、それ以上のものを監視する必要があります。 IntentServiceは、この目的のためには、価値があるよりはるかに多くの作業になります。
IntentService
を使用する場合は、UIとの通信にバインダーを実装する必要がありますが、AsyncTask
はUIを更新するためのコールバックを提供します。
ただし、AsyncTask
には、呼び出しアクティビティが開始されるたびに開始されるという欠点があります。したがって、この問題を処理するには、AsyncTaskLoader
を使用して、バックグラウンド作業にAsyncTask
を提供し、その状態を処理して、構成の変更によって再開されないようにします。
Android開発者向けのチュートリアルでは、AsyncTaskLoader
の使用方法のかなり良い例があります。あなたはそれを見つけることができますhere。
どのようなWebサービスですか? –
短時間のWebサービスには 'AsncTask'を使います。 –
@jiteshmohiteはJava SOAPです –