这篇文章中有三点需要提前说明一下,
一:在androID中有两种实现线程thread的方法:
一种是,扩展java.lang.Thread类
另一种是,实现Runnable接口
二:Thread类代表线程类,它的两个最主要的方法是:
run()――包含线程运行时所执行的代码
Start()――用于启动线程
三: Handler 机制,它是Runnable和Activity交互的桥梁,在run方法中发送Message,在Handler里,通过不同的Message执行不同的任务。
下面分别给出两种线程的实现方法,其一,扩展java.lang.Thread类,也就是把run()方法写到线程里面:
package com.my; import androID.app.Activity; import androID.os.Bundle; import androID.os.Handler; import androID.os.Message; import androID.util.Log; import androID.vIEw.VIEw; import androID.vIEw.VIEw.OnClickListener; import androID.Widget.button; public class Demo_For_copy extends Activity { public button button; public Handler mHandler=new Handler() { public voID handleMessage(Message msg) { switch(msg.what) { case 1: button.setText(R.string.text2); break; default: break; } super.handleMessage(msg); } }; /** Called when the activity is first created. */ @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); button=(button)findVIEwByID(R.ID.button); Thread thread=new Thread(new Runnable() { @OverrIDe public voID run() { Log.e("1111","111111111"); // Todo auto-generated method stub Message message=new Message(); message.what=1; mHandler.sendMessage(message); } }); thread.start(); } }
其二,实现Runnable接口,让类实现Runnable接口,然后把run方法单独提出来:
package com.my; import androID.app.Activity; import androID.os.Bundle; import androID.os.Handler; import androID.os.Message; import androID.util.Log; import androID.vIEw.VIEw; import androID.vIEw.VIEw.OnClickListener; import androID.Widget.button; import androID.Widget.linearLayout; public class Title_Change_Demo extends Activity implements Runnable { public button button; public linearLayout my_layout; public Handler mHandler=new Handler() { public voID handleMessage(Message msg) { switch(msg.what) { case 1: button.setText(R.string.text2); break; default: break; } my_layout.invalIDate(); super.handleMessage(msg); } }; /** Called when the activity is first created. */ @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); button=(button)findVIEwByID(R.ID.button); my_layout=(linearLayout)findVIEwByID(R.ID.my_layout); Thread thread=new Thread(this); thread.start(); } @OverrIDe public voID run() { Log.e("ok","111111111"); // Todo auto-generated method stub Message message=new Message(); message.what=1; mHandler.sendMessage(message); } }
以上这篇AndroID 线程thread的两种实现方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的Android 线程thread的两种实现方法(必看)全部内容,希望文章能够帮你解决Android 线程thread的两种实现方法(必看)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)