× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
ソモソモ自分のやってることの備忘録なので自分用以外の投稿は存在しなかった。
Contextについて。 intentの処理の際に引数としてMainActivity.thisとかgetApplicationContext()とかをつかうけどよくわからないのでググると同じような物で「今このアプリは何をしているのか?といったアプリ全体の情報をもっている」ものらしい。 ただしthisの方はActivityのcontextでgetApplicationContext()はアプリのcontextだそうで、でも内容はどうやら一緒。 ちがうのはライフサイクルに影響されるかどうかで、メモリーリークの面からもgetApplicationContextを使う方がいいよう。 非同期処理「AsyncTask」 参考にしたサイト http://android.keicode.com/basics/async-asynctask.php AsyncTaskの動き方 1、コンストラクタ 2、onPreExecuteメソッド(UIスレッド側) 3、doInBackgroundメソッド(ワーカースレッド側) 4、doInBackground内のpublishOnProgressメソッド(UIスレッド側のonProgressUpdateを呼ぶ) 5、doInBackgroundが終了し、onPostExecuteが呼び出される。(終了処理) 1 コンストラクタでContextにアプリの情報を設定させる。 2 onPreExecuteメソッドで非同期処理する前に思い処理をしていることが分かるようなプログレスバーな どのUI関連のインスタンス処理をする。 3 publishOnProgressメソッドでUIスレッド側に処理を反映させる。進捗状況や更新処理の内容など。 4 onProgressUpdateメソッドでUIスレッドにワーカースレッドの内容を反映させる 5 onPostExecuteにて終了処理 例えばプログレスバーを消したり。 PR |
|
忍者ブログ [PR] |