5-1バックグラウンド処理とサービスTips348 メソッドdoInBackGroundとonProgressUpdateの関係を把握する
対応Ver:全て
Level2
AnswerメソッドdoInBackGroundがpublishProgressを呼ぶたび、onProgressUpdateが呼ばれる
クラスAsyncTaskのメソッドdoInBackGroundは、可変長の引数をとります。これは、「x1, x2, ....xn」に相当します。
doInBackGroundでは「x1, x2, ....xn」を順番に処理するたび、publishProgressというメソッドを呼びます。引数が、そのつどの処理結果になります。
このとき、onProgressUpdateが呼ばれ、publishProgressを通じて、処理結果が渡されます。
onProgressUpdateの引数も、可変長です。しかし、「x1,...xn」の可変長に対応するわけではありません。
それぞれ複数の処理によって出る複数の結果を受け容れられるという意味での「可変」です。処理が「同じ関数を適用する」のように一通りなら、結局使う引数はひとつになります。その引数が1から100まで替わるということです。
ジェネリック型のAsyncTaskで決めるべき3つの型のうち、2つがここで決まります。まず、メソッドdoInBackGroundがとる
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録