Thread与HandlerThread
2015-08-07 16:50
363 查看
感谢http://blog.csdn.net/h3c4lenovo/article/details/7915170
方法一:
[java] view
plaincopy
package com.h3c.test;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class HandlerTestActivity extends Activity {
Button btn;
Handler mHandler;
LooperThread thread;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.btn);
thread = new LooperThread();
thread.start();
btn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Log.e("H3c", mHandler + "==");
if (mHandler != null) {
mHandler.sendEmptyMessage(6);
}
}
});
}
class LooperThread extends Thread {
@Override
public void run() {
super.run();
Looper.prepare();
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Log.e("H3c", msg.what + "=");
}
};
Looper.loop();
}
}
}
方法二:
[java] view
plaincopy
package com.h3c.test;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class HandlerTestActivity extends Activity {
Button btn;
MyHandler mHandler;
HandlerThread thread;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.btn);
thread = new HandlerThread("test_h3c");
thread.start();
mHandler = new MyHandler(thread.getLooper());
Log.e("H3c", "1:" + Thread.currentThread().getName());
btn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
mHandler.sendEmptyMessage(4);
}
});
}
class MyHandler extends Handler {
public MyHandler(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Log.e("H3c", Thread.currentThread().getName() + "=" + msg.what);
}
}
}
方法一:
[java] view
plaincopy
package com.h3c.test;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class HandlerTestActivity extends Activity {
Button btn;
Handler mHandler;
LooperThread thread;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.btn);
thread = new LooperThread();
thread.start();
btn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Log.e("H3c", mHandler + "==");
if (mHandler != null) {
mHandler.sendEmptyMessage(6);
}
}
});
}
class LooperThread extends Thread {
@Override
public void run() {
super.run();
Looper.prepare();
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Log.e("H3c", msg.what + "=");
}
};
Looper.loop();
}
}
}
方法二:
[java] view
plaincopy
package com.h3c.test;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class HandlerTestActivity extends Activity {
Button btn;
MyHandler mHandler;
HandlerThread thread;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.btn);
thread = new HandlerThread("test_h3c");
thread.start();
mHandler = new MyHandler(thread.getLooper());
Log.e("H3c", "1:" + Thread.currentThread().getName());
btn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
mHandler.sendEmptyMessage(4);
}
});
}
class MyHandler extends Handler {
public MyHandler(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Log.e("H3c", Thread.currentThread().getName() + "=" + msg.what);
}
}
}
相关文章推荐
- <jsp:include>和<%@include%>的区别
- centos vagrant virtualbox
- pdf生成器
- [转]Android加载图片堆栈溢出
- C++编程语言学习资料
- hdu 5338
- LeetCode:Length of Last Word
- eclipse 一直buildingWorkSpace 卡死解决
- 更改mysql表引擎(shell)
- super小知识
- Github 版本控制工具的使用
- 百度地图 根据距离设置地图比例(zoom)
- GTK+, Qt, wxWidgets 比较简评
- 银联支付及其他
- margin-top失效及解决办法
- 欢迎使用CSDN-markdown编辑器
- 插入排序
- HDU3309Roll The Cube( = = BFS )
- KMP算法 —— next 数组的应用 --- 前缀中最小循环节,最大重复次数
- /usr/bin/ld:-lc解决方法