开发步骤: 1、 新建一个Android应用程序 2、 在布局文件中添加2个Button控件标签,并为其设置属性和值 3、 在Activity中,声明控件变量并根据id获得控件对象 4、 在Activity中,创建一个Handler对象 5、 在Activity中,创建一个Runnable对象 a) 以匿名内部类的方式 b) 将要执行的操作写在Runnable对象中的run()方法中 i. 打印出一句话 ii. 调用Runnable对象的postDelayed()方法 6、 在Activity中,编写start按钮需要的监听器,并绑定 a) 在这个监听器的Onclick()方法中,调用Handler的post()方法,将要执行的线程对象放到队列当中。 7、 在Activity中,编写end按钮需要的监听器,并帮定 a) 在这个监听器的Onclick()方法中,调用Handler的removeCallbacks ()方法,删除队列当中未执行的线程对象。 b) 下面是Activity的代码:
开发步骤: 1、 新建一个Android应用程序 2、 在布局文件中添加一个progressBar和一个Button,并为其设置属性和值 3、 在Activity中,声明控件变量并根据id获得控件对象 4、 创建线程对象 a) 通过匿名内部类的方式 b) 在编写完了5、6步之后再来继续编写这个线程对象里的操作 i. 声明一个变量用来设置进度条的进度 ii. 重写线程类的run方法(),里面编写要执行的操作 1. 打印一个字符串 2. 进度条的值增加 3. 得到一个消息对象 4. 设置消息对象arg1的值 5. 让线程休眠一秒钟 6. 将消息对象放入到消息队列中 7. 判断,如果进度条的值等于100,则将线程对象从队列中移除。 5、 创建Handler对象 a) 与示例1不同的地方是,这里是通过匿名内部类的方式来声明的,而示例1是直接new出来的对象 b) 重写Handler对象的handlerMessage(Message msg)方法 i. 这个方法传入了一个Message对象,即消息对象,首先设置进度条的进度(这个值是Messag对象里面的一个成员变量arg1)。 ii. 将要执行的线程对象放入到队列当中 6、 编写Button需要的监听器,并绑定 a) 设置进度条为显示状态 b) 将要执行的线程对象放入到队列当中
Java代码:
package eoe.demo;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;
public class ProgressBarHandlerTest extends Activity {