Java中多线程:
http://www.cnblogs.com/NeilZhang/p/6831636.html
开辟子线程,同时在子线程中发送消息,在主线程中处理消息。
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); handler0 = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); doSomeThing(); } }; new myThread().start(); } public class myThread extends Thread{ @Override public void run() { super.run(); Looper.prepare(); Message mss = new Message(); mss.obj = "test in handler"; Log.d(TAG, "run: "+Thread.currentThread().getId()); handler0.sendMessage(mss); Looper.loop(); } }
另一种写法是:在MyThread中初始化handler0,增加 Looper.prepare() 和 Loop.loop();
public class myThread extends Thread{ @Override public void run() { super.run(); Looper.prepare(); handler0 = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); Log.d(TAG, "handleMessage: in myThread"+msg+" "+Thread.currentThread().getId()); } }; Message mss = new Message(); mss.obj = "test in handler"; Log.d(TAG, "run: "+Thread.currentThread().getId()); handler0.sendMessage(mss); Looper.loop(); } }