Timer,TimerTask,Handler】的更多相关文章

之前本专栏文章中的小案例有写到:第三十九话<Chronometer实现倒计时> 以及使用异步实现倒计时:第三十三话< AsyncTask异步倒计时> 本篇文章 结合Timer.TimerTask和Handler来实现相同的功能. 下面介绍一下Handler及其主要用法: 在android中提供了一种异步回调机制Handler,利用它我们可以在完成任务后做出相应的通知. handler基本使用: 在主线程中,使用handler很简单,new一个Handler对象然后实现其handle…
新建一个定时器线程,通过此线程每一秒发送数据到Handler,然后通过Handler来修改UI. 1.获得Handler,Timer,TimerTask对象. Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { if(msg.what==0x1234) { //修改UI } } }; Timer timer=new Timer(); TimerTask task=new TimerTa…
当我们需要每隔一段时间执行一个任务的时候,就需要使用TimerTask了,下面是入门的例子, 值得注意的是Timer.TimerTask,cancel之后就需要重新声明一个对象,否则会报错的哦~ package zhexian.app.myapplication; import android.util.Log; import java.util.Timer; import java.util.TimerTask; /** * Created by kimmy on 2015/9/30. */…
Android计时器TimerTask,Timer,若要在TimerTask中更新主线程UI,鉴于Android编程模型不允许在非主线程中更新主线程UI,因此需要结合Android的Handler实现在Java的TimerTask中更新主线程UI.现给出一个简单示例.代码使用标准Java的TimerTask和Timer启动一个计时器Task.该任务每隔2秒更新主线程的UI(在主线程的TextView显示最新的系统时间:System.currentTimeMillis()). import jav…
下面是快速创建一个新线程的方法: 第一种:直接创建子线程并启动      new Thread() {@Overridepublic void run() {     //这里写入子线程需要做的工作        }   }.start();   第二种:先创建子线程,然后启动        private Thread newThread; //声明一个子线程newThread = new Thread(new Runnable() {    @Override            publ…
http://blog.csdn.net/sunxingzhesunjinbiao/article/details/6794840 (1) Looper类别用来为一个线程开启一个消息循环.默认情况下Android中新诞生的线程是没有开启消息循环的.(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环) Looper对象通过MessageQueue来存放消息和事件.一个线程只能有一个Looper,对应一个MessageQueue. (2) 通常是通过Handler对象来与Loope…
1.      HTTPServer,RequestHandler,ServerHandler,Handler 1.1       基本概念 HTTPServer主要是对传输控制层HTTP,TCP,Socket等底层实现细节的一些抽象,典型应用为WSGIServer,其继承关系为: WSGIServer: HTTPServer: TCPServer: SocketServer.BaseServer,对应的类视图如下图: RequestHandler是对HTTP请求所有操作的抽象,从其成员函数:h…
当应用程序启动时,Android首先会开启一个主线程(也就是UI线程),主线程为管理界面中的UI控件.在程序开发时,对于比较耗时的操作,通常会为其开辟一个单独的线程来执行,以尽可能减少用户的等待时间.在Android中,默认情况下,所有的操作都是在主线程中进行的,主线程负责与UI相关的事件.而在自己新建的线程中,不能对UI进行操作.因此Android提供了消息处理传递机制来解决这一问题. 一.几个概念: Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQu…
一.简介 二.代码流程 1.private Map<String, SoftReference<Drawable>> imageCache = new HashMap<String, SoftReference<Drawable>>();来起到缓存图片的作用 2.每当要访问图片,先在map找,找不到则new Thread().start(),访问网络得到图片,再传给handler, Message message = handler.obtainMessag…
在简易音乐播放器中,用了Handler,也没有过多地去研究学习,这里再学习下android下的异步消息处理机制.这里用了Handler主要是在线程中不能更新UI,而需要通过Handler才可以.关于异步消息处理有几个概念. 1.Message:消息,线程间通讯的数据单元.例如后台要下载歌曲然后下载完成要更新ui,则可以发送一条包含更新信息的Message给UI线程. 2.MessageQueue:消息队列,用来存放所有通过Handler发布的消息,因为是队列,所以是先进先出的. 3.Handle…