嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

周梦康 发表于 2014-04-16 2475 次浏览 标签 : Android

学习新东西,本想偷懒,虽然早上上班看了一遍,晚上回来又看了一遍,感觉是懂了,不过还是告诉自己切勿眼高手低,所以还是再照着mars的教程把代码再敲一遍。顺便做下笔记。

最基础的一种消息处理机制示意图:

Android的消息机制,关键字Handler,Looper,Message Queue

参考网上的资料加视频里面的解释:

Handler把消息对象放入Message Queue

Looper,循环器,负责从Message Queue取出消息对象,然后送给Handler去处理。

package com.zhoumengkang.handler;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
	private Button button;
	private Handler handler;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		button = (Button)findViewById(R.id.button);
		button.setOnClickListener(new ButtonListener());
		handler = new TestHandler();//初始化了一个handler对象
		
	}
	
	class ButtonListener implements OnClickListener{

		@Override
		public void onClick(View arg0) {
			//当用户点击按钮时,我们创建一个消息对象,并使用Handler发送该对象
			Message msg = handler.obtainMessage();
			msg.what = 2;
			handler.sendMessage(msg);//把消息对象放入消息队列
			//1.Looper将会从消息队列中把消息对象取出
			//2.Looper将会把消息对象传回给对应的Handler对象(之前生成这个消息对象的Handler)
			//3.Handler对象的handlerMessage,再处理消息对象
		}
		
	}
	
	class TestHandler extends Handler{

		@Override
		public void handleMessage(Message msg) {
			int what = msg.what;
			System.out.println(what);
		}
		
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表