Android笔记二十五.Android事件Handler消息传递机制
Posted ljbguanli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android笔记二十五.Android事件Handler消息传递机制相关的知识,希望对你有一定的参考价值。
方法 |
描 述 |
public void handleMessage (Message msg) |
通过该方法获取、处理消息 |
public final boolean sendEmptyMessage (int what) |
发送一个仅仅含有what标记的空消息 |
public final boolean sendMessage (Message msg) |
发送消息到Handler,通过handleMessage()方法接收和处理 |
public final boolean hasMessages (int what) |
监測消息队列中是否包括标记为what的消息 |
public final boolean post (Runnable r) |
将一个线程对象加入到消息队列 |
package com.example.android_handler; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.widget.TextView; public class HandlerTest extends Activity { int i=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final TextView text = (TextView)findViewById(R.id.random); //1.创建一个Handler类对象,并重写handleMessage()方法 final Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { if(msg.what==0x520) { text.setText("获得的新随机数为:\n"+Math.random()); } } }; //2.定义一个计时器。让该计时器以1.2s周期性地运行指定任务(毫秒为基本单位) // new Timer().schedule(new TimerTask(){ // public void run() { // handler.sendEmptyMessage(0x520); // } // }, 0, 1200); new Thread(new Runnable(){ public void run() { while(true) { try { Thread.sleep(1200); } catch (Exception e) { e.printStackTrace(); } handler.sendEmptyMessage(0x520); } } }).start(); } }
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/random" android:textSize="20sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="35dp" android:layout_gravity="center"/> </LinearLayout>
以上是关于Android笔记二十五.Android事件Handler消息传递机制的主要内容,如果未能解决你的问题,请参考以下文章
Android项目实战(二十五):Android studio 混淆+打包+验证是否成功
android源码解析(二十五)-->onLowMemory执行流程
Android进阶(二十五)setTextColor()的参数设置方式
Android Studio第二十五期 - 自定义键盘+支付输入框
一起Talk Android吧(第三百二十五回:Android中网络通信之TCP通信模型二)
android studio for android learning (二十五 )activity的启动模式详解与标志位简析