11.Android学习之Handler消息处理(一)

Handler是Android提供的一个用来更新UI的机制,也是一个消息处理的机制。通过Handler类(消息处理类)可以发送和处理Message对象到其所在线程的MessageQueue中。Handler类主要有以下两个作用。(1)在任意线程中发送消息将Message应用sendMessage()方法发送到MessageQueue中,在发送时可以指定延迟时间、发送时间以及要携带的Bundle数据。(2)在主线程中获取并处理消息。...
摘要由CSDN通过智能技术生成

目录

11.Handler消息处理(一)

1.Handler消息传递机制

1-1.Handler 类简介

1-2.Handler 类中的常用方法


11.Handler消息处理(一)

1.Handler消息传递机制

在Java中,对于一些周期性的或者是耗时的操作通常由多线程来实现,而在Android中,也可以使用Java中的多线程技术。例如,在手机淘宝主界面的上方,对广告进行轮换显示,以及某些游戏中的计时进度条,都应用了多线程技术。

在Android中使用多线程,有一点需要注意:不能在子线程中动态改变主线程中的UI组件的属性。

注:当一个程序第一次启动时,Android会启动一条主线程,用于负责接收用户的输入,将运行的结果反馈给用户,也称为UI线程;而子线程是指为了执行一些可能产生阻塞操作而新启动的线程,也称为Worker线程。

例如,实现单击按钮时创建新线程,用于改变文本框的显示文本,代码如下:

public class MainActivity extends AppCompatActivity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        TextView textView=findViewById(R.id.main_tv1);
        Button button=findViewById(R.id.main_btn1);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //创建新线程
                Thread thread=new Thread(new Runnable() {
                    @Override
                    public void run() {
                        //要执行的操作
                        textView.setText("你今天的努力,是幸运的伏笔;当下的付出,是明日的花开");
                    }
                });
                thread.start();//开启线程
            }
        });
    }

点击按钮后软件将停止运行,在Logcat面板中输出如图所示的异常信息。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值