android之handler
来源:互联网 发布:淘宝达人怎么收取佣金 编辑:程序博客网 时间:2024/06/05 15:24
Android程序中一些操作是不能放在activity中的,因为非常耗时,如下载过程。这时,需要使用handler,即重新启动一个与activity并行的线程,下面是使用handler的一个小例子:
package com.example.handlertest;import android.os.Bundle;import android.os.Handler;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {//声明两个按钮控件private Button startButton = null;private Button endButton = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//根据控件的ID得到代表控件的对象,并为这两个按钮设置相应的监听器startButton = (Button)findViewById(R.id.startButton);startButton.setOnClickListener(new StartButtonListener());endButton = (Button)findViewById(R.id.endButton);endButton.setOnClickListener(new EndButtonListener());}class StartButtonListener implements OnClickListener {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub//将要执行的线程对象加入消息队列中//异常的消息处理:post方法执行后便返回,updateThread和activity线程就并行运行了handler.post(updateThread);}}class EndButtonListener implements OnClickListener {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubhandler.removeCallbacks(updateThread);}}//创建handler对象Handler handler = new Handler();//隐名内部类的方式实现Runnable接口,将要执行的操作写在线程对象的run方法中Runnable updateThread = new Runnable() {public void run() {System.out.println("UpdataThread");//在run方法内部,执行postDelayed或者post实现循环handler.postDelayed(updateThread, 3000);}};@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
在上面的例子中,handler在使用时,是直接执行对象的run方法,而没有调用start方法,所以它与使用它的activity属于同一个线程。
- Android之handler使用
- android之handler使用
- Android 之 handler 学习
- Android 之 handler
- android之handler总结
- Android之Handler学习
- android之handler使用
- Android之handler讲解
- Android开发之Handler
- android之Handler
- Android 之 Handler总结
- android之Handler用法
- Android之Handler
- Android 之Handler
- Android之Handler
- Android开发之handler
- Android之Handler高级
- Android笔记之handler
- 动态生成一个div块并让其移动
- 昂贵的聘礼
- Cocos2d-x连接Mina NIO服务器要点
- hdu 2871 线段树+区间合并 好题
- ppt技巧汇总
- android之handler
- 用java实现的双向链表增加删除修改操作
- intel dpdk api testpmd 程序源码详解
- 学习计划:《数据结构(C语言版)》
- 【第二课】SDL读取并显示图像
- 排序算法读书笔记
- Android中定时器的3种实现方法
- Direct2D 系列文章索引
- 数据结构读书笔记