*

【android】非同期処理

公開日: : 最終更新日:2012/05/07 android

Androidで非同期処理、マルチスレッドを処理するスニペット。
AndroidのスレッドはUIスレッドとそれ以外で大別され、UIスレッド以外のスレッドからUIスレッドを操作することはできません。
重い処理を別スレッドで行なって、結果をUIに反映させるにはAsynkTaskやメッセージで処理を行います。

AsynkTaskを使う方法1:クラスを定義

	private void test(){
		new newTask().execute(new String[]{"param1","param2"});
	}

	//(AsyncTask<doInBackgroundの引数,onProgressUpdateの引数,doInBackgroundの返り値>)
	protected class newTask extends AsyncTask<String, Object, Boolean>{
		@Override
		protected void onPreExecute() {
			//前処理
			super.onPreExecute();
			Log.v(TAG, "onPreExcecute()");
		}
		@Override
		protected Boolean doInBackground(final String... arg0) {
			//バックグラウンド処理
			onProgressUpdate(new Object());
			return true;
		}
	    @Override
	    protected void onProgressUpdate(Object... Object) {
	        //進捗処理
	    }
		@Override
		protected void onPostExecute(Boolean flag){
			//後処理
		}
	}

AsynkTaskを使う方法2:匿名クラスで実行

new AsyncTask<String, Object, Boolean>(){
	@Override
	protected void onPreExecute() {
		//前処理
		super.onPreExecute();
	}
	@Override
	protected Boolean doInBackground(String... params){
		//バックグラウンド処理
		return new Boolean(true);
	}
	@Override
	protected void onPostExecute(Boolean flag){
		//後処理
	}
}.execute();

単純にバックグラウンドで処理する場合Theadを使いかます

new Thread(new Runnable() {
	    public void run() {
                 //バックグラウンド処理

                 //スリープする場合
          Thread.sleep(600);//
	    }
	}).start();

関連記事

no image

【android】アプリ内課金を実装する

アプリ内課金のサンプルコードを解析します。 参考URL 公式API Android

記事を読む

no image

インテント

基本 //任意のアクティビティの起動 Intent intent = new

記事を読む

no image

【andoid】ViewPagerを使う

1. layout.xmlにViewPagerを配置  2. PagerAdapter.jav

記事を読む

no image

【android】 APIバージョンによる動作の違い

「最近使用したアプリケーション」からの起動 2.x系 -> onNewIntentが呼ばれる 4

記事を読む

no image

【android】サービスの実装

ダウンロードなどActivityに依存したくない大きなバックグラウンド処理や常駐プロセスを作りたい場

記事を読む

no image

【android】 setOnClickListener(false)が効かない

間違いその1 OnClickListenerが登録されているViewにsetClickable

記事を読む

no image

【android】DrawableとBitmap、リソースの相互変換 

Resource → Bitmap Bitmap bm = BitmapFactory.dec

記事を読む

no image

【android】複数のカスタムテーマを設定で切り替える

背景色やアプリ全体のテーマ色を設定で変更したいという要望をもらったので実装してみました。

記事を読む

no image

【android】設定画面の作成

res/xml/preferences.xml <?xml version=&quo

記事を読む

no image

【android】 webviewでassetsのリソースを使用する

webviewでassets内のリソースにアクセスするには file:///android_a

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

no image
知らないと損をする6つのライセンスまとめ

オープンソースやフリーウェア、フリー素材などが巷に溢れ、それらを利用す

no image
ガリレオ:ニュースブラウザをリリースしました。

概要 ガリレオはニュースを読んだり、検索する機能に特化したブラウザア

no image
【android】Activityとプロセスのライフサイクル

またもやライフサイクル周りでハマったのですが、Androidのライフサ

→もっと見る

PAGE TOP ↑