Android 線程thread的兩種實現(xiàn)方法(必看)
這篇文章中有三點需要提前說明一下,
一:在android中有兩種實現(xiàn)線程thread的方法:
一種是,擴展java.lang.Thread類
另一種是,實現(xiàn)Runnable接口
二:Thread類代表線程類,它的兩個最主要的方法是:
run()——包含線程運行時所執(zhí)行的代碼
Start()——用于啟動線程
三: Handler 機制,它是Runnable和Activity交互的橋梁,在run方法中發(fā)送Message,在Handler里,通過不同的Message執(zhí)行不同的任務。
下面分別給出兩種線程的實現(xiàn)方法,其一,擴展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();
}
}
其二,實現(xiàn)Runnable接口,讓類實現(xiàn)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的兩種實現(xiàn)方法(必看)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Android編程開發(fā)中ListView的常見用法分析
這篇文章主要介紹了Android編程開發(fā)中ListView的常見用法,較為詳細的分析了ListView的功能及常見使用方法,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10
Android性能優(yōu)化之ViewPagers?+?Fragment緩存優(yōu)化
這篇文章主要介紹了Android性能優(yōu)化之ViewPagers+Fragment緩存優(yōu)化,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-08-08
Android TextView使用SpannableString設置復合文本的方法詳解
這篇文章主要介紹了Android TextView使用SpannableString設置復合文本的方法,結合實例形式詳細分析了Android中SpannableString類的功能及相關用法,需要的朋友可以參考下2016-08-08

