Android 線程thread的兩種實(shí)現(xiàn)方法(必看)
這篇文章中有三點(diǎn)需要提前說(shuō)明一下,
一:在android中有兩種實(shí)現(xiàn)線程thread的方法:
一種是,擴(kuò)展java.lang.Thread類
另一種是,實(shí)現(xiàn)Runnable接口
二:Thread類代表線程類,它的兩個(gè)最主要的方法是:
run()——包含線程運(yùn)行時(shí)所執(zhí)行的代碼
Start()——用于啟動(dòng)線程
三: Handler 機(jī)制,它是Runnable和Activity交互的橋梁,在run方法中發(fā)送Message,在Handler里,通過(guò)不同的Message執(zhí)行不同的任務(wù)。
下面分別給出兩種線程的實(shí)現(xiàn)方法,其一,擴(kuò)展java.lang.Thread類,也就是把run()方法寫(xiě)到線程里面:
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();
}
}
其二,實(shí)現(xiàn)Runnable接口,讓類實(shí)現(xiàn)Runnable接口,然后把run方法單獨(dú)提出來(lái):
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的兩種實(shí)現(xiàn)方法(必看)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android Listview點(diǎn)贊問(wèn)題關(guān)于圖片重復(fù)問(wèn)題
最近在開(kāi)發(fā)android方面的項(xiàng)目時(shí),遇到很多問(wèn)題,下面小編以listview 與 baseadapter結(jié)合使用為例,給大家分享下關(guān)于點(diǎn)贊的的時(shí)候 圖片重復(fù)問(wèn)題的解決方法,一起看看吧2016-11-11
Android local.properties 文件讀取實(shí)例詳解
這篇文章主要介紹了Android local.properties 文件讀取實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05
Android中button點(diǎn)擊后字體的變色效果
button的點(diǎn)擊效果無(wú)疑是非常簡(jiǎn)單的,接下來(lái)通過(guò)本文給大家介紹下如何添加button點(diǎn)擊的字體顏色變化效果,感興趣的朋友一起看看吧2016-10-10
規(guī)避Android開(kāi)發(fā)中內(nèi)存泄漏陷阱的解決方案
在Android開(kāi)發(fā)中,內(nèi)存泄漏是一個(gè)常見(jiàn)但容易被忽視的問(wèn)題,它會(huì)導(dǎo)致應(yīng)用程序占用過(guò)多的內(nèi)存資源,最終影響應(yīng)用的性能和用戶體驗(yàn),本文將深入探討Android常見(jiàn)的內(nèi)存泄漏問(wèn)題,并提供優(yōu)化指南,需要的朋友可以參考下2024-05-05
Android通過(guò)RemoteViews實(shí)現(xiàn)跨進(jìn)程更新UI示例
本篇文章主要介紹了Android通過(guò)RemoteViews實(shí)現(xiàn)跨進(jìn)程更新UI示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
Android開(kāi)發(fā)實(shí)現(xiàn)刪除聯(lián)系人通話記錄的方法
這篇文章主要介紹了Android開(kāi)發(fā)實(shí)現(xiàn)刪除聯(lián)系人通話記錄的方法,較為詳細(xì)的分析了Android刪除通話記錄的原理、步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-10-10
Android搜索結(jié)果顯示高亮實(shí)例(有數(shù)據(jù)滑動(dòng)底部自動(dòng)刷新)
本篇文章主要介紹了Android搜索結(jié)果顯示高亮實(shí)例(有數(shù)據(jù)滑動(dòng)底部自動(dòng)刷新),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-04-04
Android變形(Transform)之Camera使用介紹
Camera主要實(shí)現(xiàn)3D的變形,有轉(zhuǎn)動(dòng),旋轉(zhuǎn)等,Camera的源碼是由Native(本地代碼)實(shí)現(xiàn),提供的接口也比較簡(jiǎn)單,感興趣的朋友可以參考下,或許對(duì)你學(xué)習(xí)有所幫助2013-02-02

