Androidの非同期呼び出し

  • 概要
    UIスレッドの良い、正確な使用を実行できるアクションAsyncTaskは、彼がバックグラウンドで時間のかかる(数秒)とすることができ、(スレッドとハンドラの運用操作を介さずに、UIスレッドに結果を返すことができます)。
    そのdoInBackgroundを(名前が示すように、あなたがバックグラウンドで操作を実行する方法)メソッド、ほとんどがonPostExcuteを書き換えます使用したときに、少なくとも書き換え(背景が完了した後に、あなたが結果を返すようにしたい、AsyncTaskのサブクラスを作成する必要があります。 UIスレッド)方法。
  • 3と4のステップのAsyncTask一般的な定義は、
    第一のように定義された一般的なAsyncTaskの三種類理解する

    PARAMSを:パラメータ型発行されたタスクをバックグラウンド操作実行されたとき、すなわちdoInBackgroundプロセスパラメータ、例えば:ダウンロードは、背景画像を行った場合文書は、ここIMAGEPATH文字列型です。
    進捗状況:タイプ舞台裏操作処理実行スケジュール。
    結果:UIスレッドのデータ型に戻ります。その引数onPostExcute方法は、例えば:背景はここに画像のダウンロードタスクであれば、確かにUIスレッドへのビットマップの種類を返します。
    もちろん、すべてではないタイプのために使用され、例えば、進捗状況、あなたがこのタイプの設計、void型を直接使用する必要はありませんプログレスバーが表示されない場合。
    第二に、4つのステップを理解する:
    onPreExcuteを:操作する前に実行するバックグラウンドタスクを行う、例えば、ダイアログのユーザがダウンロードするように指示されたポップアップ表示することができます。ダイアログonPostExcuteプロセスで必要も却下します。
    onInBackground:少し。以前に語りました。注:このメソッドは、publishProgressのリリーススケジュールユニットを使用することができ、単位は進行onProgressUpdate段階でリリースされます。
    onProgressUpdate:名前が示すように、更新操作のプログレスバーがあります。UIスレッドで表示ユニットの進捗。
    onPostExcute:少し。追加:このメソッドのパラメータは、doInBackgroundメソッドが返すの結果です。
  • AsyncTask通常の動作条件:
    ①AsyncTaskクラスは、UIスレッドでロードする必要があります。
    ②タスクインスタンスは、UIスレッドで作成する必要があります。
    前の2を合計するには、UIスレッドでAsyncTaskのサブクラスを作成することで、UIスレッドでインスタンス化する必要があります。
    ③タスクを実行するためにUIスレッドを()を呼び出しexcute。手動で4つのステップの機能AsyncTaskを起動しないでください。
  • doInBackgroundメソッド呼び出しpublishProgress、プログレスバーがリアルタイムonProgressUpdateに更新することができるのはなぜ。
    のでpublishProgressを呼び出す前に、onProgressUpdateのための任意のメモリ効果doInBackgroundが表示され、その後のpublishProgress onProgressUpdateは、現在進行中の動作には影響しません。

  • 以下の画像は、非同期ロード操作を示し
    ①準備作業は、
    「ネットワークの画像にアクセスするには、最初に権限を付与する必要があります。でたManifest.xml ネットワークへのノードAPPオープンアクセスの前に次のステートメントを追加

    画像をダウンロードするにはネットワーク要求がHttpClientをクラスに必要ありませんが、もはやアンドロイド6.0の後のHttpClientをサポートされていますが、まだ使用することができ、あなたがAPPのbuild.gradleに次のコードを追加する必要があります」。

おすすめ

転載: www.cnblogs.com/21-T/p/10940179.html