当前位置: 首页 > 编程笔记 >

Android 线程thread的两种实现方法(必看)

党浩阔
2023-03-14
本文向大家介绍Android 线程thread的两种实现方法(必看),包括了Android 线程thread的两种实现方法(必看)的使用技巧和注意事项,需要的朋友参考一下

这篇文章中有三点需要提前说明一下,

一:在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的两种实现方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Python中多线程thread与threading的实现方法,包括了Python中多线程thread与threading的实现方法的使用技巧和注意事项,需要的朋友参考一下 学过Python的人应该都知道,Python是支持多线程的,并且是native的线程。本文主要是通过thread和threading这两个模块来实现多线程的。 python的thread模块是比较底层的模块,py

  • 本文向大家介绍浅谈Java的两种多线程实现方式,包括了浅谈Java的两种多线程实现方式的使用技巧和注意事项,需要的朋友参考一下 本文介绍了浅谈Java的两种多线程实现方式,分享给大家。具有如下: 一、创建多线程的两种方式 Java中,有两种方式可以创建多线程: 1 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2 通过实现Runnable接口,实例化Threa

  • 本文向大家介绍Android实现静默安装的两种方法,包括了Android实现静默安装的两种方法的使用技巧和注意事项,需要的朋友参考一下 前言 一般情况下,Android系统安装apk会出现一个安装界面,用户可以点击确定或者取消来进行apk的安装。 但在实际的项目需求中,有一种需求,就是希望apk在后台安装(不出现安装界面的提示),这种安装方式称为静默安装。下面这篇文章就给大家介绍了两种方法来实现,

  • 本文向大家介绍Android实现轮播效果的两种方法,包括了Android实现轮播效果的两种方法的使用技巧和注意事项,需要的朋友参考一下 实现轮播效果有2种方法: (1)使用ViewPager+ImageView,通过Handler进行间隔发送消息,实现自动轮播效果 xml代码: adapter: (2)使用SliderLayout第三方进行实现轮播 添加依赖: xml代码: Java代码: 以上就

  • 本文向大家介绍IOS多线程编程的3种实现方法,包括了IOS多线程编程的3种实现方法的使用技巧和注意事项,需要的朋友参考一下 前言 在多线程简介中,我已经说明过了,为了提高界面的流畅度以及用户体验。我们务必要把耗时的操作放到别的线程中去执行,千万不要阻塞主线程。 iOS中有以下3种多线程编程方法: 1.NSThread 这是最轻量级的多线程的方法,使用起来最直观的多线程编程方法。但是因为需要自己管理

  • 本文向大家介绍Android Intent实现页面跳转的两种方法,包括了Android Intent实现页面跳转的两种方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Intent实现页面跳转的两种的方法,供大家参考,具体内容如下 下图中两个不同的方法就是两种页面之间跳转的情况 1).跳转不返回数据 2).跳转返回数据 实例: 第一种启动方式(跳转不返回数据) 第二种启动方式(跳转