国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 線程thread的兩種實現方法(必看)

2019-10-23 19:44:50
字體:
來源:轉載
供稿:網友

這篇文章中有三點需要提前說明一下,

一:在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的兩種實現方法(必看)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 古田县| 镇平县| 阿荣旗| 富平县| 万全县| 民勤县| 祥云县| 宁国市| 儋州市| 榆社县| 威海市| 广元市| 玛多县| 西乌| 神木县| 兰坪| 中江县| 永顺县| 平和县| 株洲县| 盐池县| 清流县| 平塘县| 兴山县| 堆龙德庆县| 屯门区| 集安市| 鄂尔多斯市| 边坝县| 葵青区| 广宗县| 黑龙江省| 鄯善县| 东乌| 长葛市| 平江县| 平江县| 内江市| 乐业县| 晋宁县| 武鸣县|