消息机制--AsyncTask









package org.lxh.demo;

import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.ProgressBar;
import android.widget.TextView;

public class MyAsyncTaskDemo extends Activity {
	private ProgressBar bar = null;								// 进度条组件
	private TextView info = null;								// 文本显示组件

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);					// 调用布局管理器
		this.bar = (ProgressBar) super.findViewById(R.id.bar);	// 取得组件
		this.info = (TextView) super.findViewById(R.id.info);	// 取得组件
		ChildUpdate child = new ChildUpdate() ;					// 子任务对象
		child.execute(100) ; 									// 为休眠时间
	}
	private class ChildUpdate extends AsyncTask<Integer, Integer, String> {
		@Override
		protected void onPostExecute(String result) {			// 任务执行完后执行
			MyAsyncTaskDemo.this.info.setText(result) ;			// 设置文本
		}
		@Override
		protected void onProgressUpdate(Integer... progress) {	// 每次更新之后的数值
			MyAsyncTaskDemo.this.info.setText("当前进度是:"
					+ String.valueOf(progress[0]));				// 更新文本信息
		}
		@Override
		protected String doInBackground(Integer... params) {	// 处理后台任务
			for (int x = 0; x < 100; x++) {						// 进度条累加
				MyAsyncTaskDemo.this.bar.setProgress(x);		// 设置进度
				this.publishProgress(x);						// 传递每次更新的内容
				try {
					Thread.sleep(params[0]);					// 延缓执行
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
			return "执行完毕。";									// 返回执行结果
		}
	}

}

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" 
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<ProgressBar
		android:id="@+id/bar" 
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		style="?android:attr/progressBarStyleHorizontal" />
	<TextView
		android:id="@+id/info"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content" />
</LinearLayout>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值