我是靠谱客的博主 隐形书本,最近开发中收集的这篇文章主要介绍android定时任务发照片,handler实现定时任务功能,每4秒轮播图播映,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我们知道handler的功能有两个,一个是实现定时任务,另一个是实现主线程和子线程的信息通信,尤其是安卓中耗时操作不能在主线程进行,更新界面操作不能在子线程进行,在这种需求背景下,于是出现了handler+thread的搭配实现子线程读取网络数据,读取完通知主线程更新UI。不过我这一篇写的是handler的定时任务功能。

首先要了解重点的方法handler类中的postDelayed(Runnable r,long delaymillis)方法。这个方法的作用是延迟delaymillis毫秒执行一次Runnable对象中的run方法部分的代码,把它写成递归的形式就能无限循环下去执行r的run方法代码。此时runnable并没有新开一个线程,它还是在handler所在的线程中执行。

下面是我做的轮播图的小例子的全部代码,在我的手机上运行没有任何问题。

图片:

2ea4ddcaa419b59f11803e05cf170b21.png

db5e05855648d70856166995e38596cb.png

b9653c89842769535708fc406bba960e.png

import android.app.Activity;

import android.os.Bundle;

import android.os.Handler;

import android.widget.ImageView;

public class handlerImage extends Activity {

ImageView iView;

Handler myhandler;

myRun runnable = new myRun();

int img[] = { R.drawable.a, R.drawable.b, R.drawable.timg };//三张图片

int i = 1;

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.img);

iView = (ImageView) findViewById(R.id.imageView1);

myhandler = new Handler();

myhandler.postDelayed(runnable, 2000);

}

class myRun implements Runnable {

@Override

public void run() {

// TODO Auto-generated method stub

iView.setImageResource(img[i % 3]);

i++;

myhandler.postDelayed(runnable, 4000);//每4000毫秒执行一次run方法

}

}

}

另外附上xml

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

android:id="@+id/imageView1"

android:layout_width="match_parent"

android:layout_height="match_parent"

/>

大学毕业没多久,又是第一次接触handler,了解还不深,如果有错误希望大家在评论区指正。

最后

以上就是隐形书本为你收集整理的android定时任务发照片,handler实现定时任务功能,每4秒轮播图播映的全部内容,希望文章能够帮你解决android定时任务发照片,handler实现定时任务功能,每4秒轮播图播映所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部