handle(control和handle的区别)
本文目录
control和handle的区别
一、词义不一样
control
英
1、n. 控制;管理;抑制;操纵装置
2、v. 控制;管理;抑制
handle
英
n. 把手;柄;手感;口实
v. 处理;对待;操作;触;买卖
二、变形词不一样
control
第三人称单数: controls 复数: controls 现在分词: controlling 过去式: controlled 过去分词: controlled
handle
第三人称单数: handles 复数: handles 现在分词: handling 过去式: handled 过去分词: handled
三、词语用法不一样
control的主语主要是具有生命且能表达意志的人,而其宾语则是一切能被人所控制的人、物、事。具有某种功能的仪器装置只能控制“物”,而不能控制人,也不能控制局势、秩序等。
handle主要用作及物动词,宾语可以是人或事物; 偶尔用作不及物动词,其主动形式往往表示被动意义。
android中handler如何使用
Handler在Android中主要是负责发送和处理消息。它的主要用途大致是下面两个: 1)按计划发送消息或执行某个Runnanble; 2)从其他线程中发送来的消息放入消息队列中,避免线程冲突(常见于更新UI线程) 学写一下,在UI线程中,系统已经有一个Activity来处理了,你可以再起若干个Handler来处理。在实例化Handler的时候,只要有Handler的指针,任何线程也都可以sendMessage。 Handler对于Message的处理是异步处理的。一个Looper 只有处理完一条Message才会读取下一条,所以消息的处理是阻塞形式的(handleMessage()方法里不应该有耗时操作,可以将耗时操作放在其他线程执行,操作完后发送Message(通过sendMessges方法),然后由handleMessage()更新UI)。 根据对视频的学习写了一个通过Button控件启动进度条(类似于下载等操作)的程序,简单介绍一下,有两个Button控件,一个是开始,点击之后会显示一个进度条以每次十分之一的进度进行(一开始是隐藏的),另一个是停止,可以中断进度。 java代码: 1 package zzl.handleactivity; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.os.Handler; 6 import android.os.Message; 7 import android.view.Gravity; 8 import android.view.View; 9 import android.view.View.OnClickListener; 10 import android.widget.Button; 11 import android.widget.ProgressBar; 12 import android.widget.Toast; 13 14 public class Handler_01 extends Activity { 15 16 //声明变量 17 private Button startButton=null; 18 private Button endButton=null; 19 private ProgressBar firstBar=null; 20 private Toast toast=null; 21 @Override 22 protected void onCreate(Bundle savedInstanceState) { 23 super.onCreate(savedInstanceState); 24 setContentView(R.layout.main); 25 26 //根据ID获取对象 27 startButton =(Button)findViewById(R.id.startButton); 28 endButton=(Button)findViewById(R.id.endButton); 29 firstBar=(ProgressBar)findViewById(R.id.firstBar); 30 //给对象设置动作监听器 31 startButton.setOnClickListener(new StartButtonListener()); 32 endButton.setOnClickListener(new EndButtonListener()); 33 } 34 35 class StartButtonListener implements OnClickListener{ 36 37 @Override 38 public void onClick(View v) { 39 // TODO Auto-generated method stub 40 //一开始执行,加入到消息队列,不延迟, 41 //然后马上执行run方法 42 firstBar.setVisibility(View.VISIBLE); 43 firstBar.setMax(100); 44 handler.post(upRunnable); 45 toast=Toast.makeText(Handler_01.this, “运行开始“, Toast.LENGTH_SHORT); 46 toast.setGravity(Gravity.CENTER, 0, 0); 47 toast.show(); 48 } 49 } 50 class EndButtonListener implements OnClickListener{ 51 52 @Override 53 public void onClick(View v) { 54 // TODO Auto-generated method stub 55 //停止 56 handler.removeCallbacks(upRunnable); 57 System.out.println(“It’s time to stop...“); 58 } 59 } 60 61 //创建handler对象,在调用post方法 62 //异步消息处理:将下载或者处理大数据等等单独放到另一个线程 63 //更好的用户体验 64 Handler handler=new Handler(){ 65 66 @Override 67 public void handleMessage(Message msg){ 68 firstBar.setProgress(msg.arg1); 69 firstBar.setSecondaryProgress(msg.arg1+10); 70 //handler.post(upRunnable); 71 if(msg.arg1《=100) { 72 handler.post(upRunnable); //将要执行的线程放入到队列当中 73 }else { 74 handler.removeCallbacks(upRunnable); 75 } 76 } 77 }; 78 79 //声明线程类:实现Runnable的接口 80 Runnable upRunnable=new Runnable() { 81 82 int i=0; 83 @Override 84 public void run() {//程序的运行状态 85 // TODO Auto-generated method stub 86 //postDelayed方法:把线程对象加入到消息队列中 87 // 隔2000ms(延迟) 88 System.out.println(“It’s time to start...“); 89 i=i+10; 90 //获取Message消息对象 91 Message msg=handler.obtainMessage(); 92 //将msg对象的arg1(还有arg2)对象的值设置 93 //使用这两个变量传递消息优点:系统消耗性能较少 94 msg.arg1=i; 95 try{ 96 //设置当前显示睡眠1秒 97 Thread.sleep(1000); 98 }catch(InterruptedException e){ 99 e.printStackTrace(); 100 } 101 //将msg对象加入到消息队列当中 102 handler.sendMessage(msg); 103 if(i==100){//当值满足时,将线程对象从handle中剔除 104 handler.removeCallbacks(upRunnable); 105 firstBar.setVisibility(View.GONE); 106 //临时弹出 107 108 toast=Toast.makeText(Handler_01.this, “运行结束“, Toast.LENGTH_SHORT); 109 toast.setGravity(Gravity.CENTER, 0, 0); 110 toast.show(); 111 } 112 } 113 }; 114 } main.xml 1 《LinearLayout xmlns:android=“ 如果要实现调用另一个新的线程,只要注释post方法,然后加上这样两段代码即可: Thread t = new Thread(r); t.start();
更多文章:

做一个网页才几千,为什么程序员工资上万?最好的网页制作软件是什么呢
2025年3月7日 04:30

怎么判断是double还是float(怎样区分float和double)
2025年2月12日 06:40

excel怎么生成随机数(excel中如何生成指定数量的随机数,)
2025年2月14日 16:40

windows2000模拟器下载(安卓模拟器怎么下载下载后怎么安装在电脑上安装后又怎样才能将一站到底下下来并在电脑上玩)
2025年3月3日 16:50

generally什么意思啊(generally什么意思中文翻译)
2025年3月19日 22:00

allocate是什么意思中文(Allocate是什么意思)
2025年2月14日 09:30

nowrap是什么意思(rap是为什么会存在的来历是怎样的)
2025年2月9日 01:40