2011-10-31 15:09:10 clearshao 阅读数 145
  • 基于qt和ffmpeg视频播放器开发实战

    ffmpeg是世界上应用广的开源视频处理框架,在各个平台(windows,linux,嵌入式、Android、IOS)被广泛应用,可以说是做视频相关项目技能 qt是目前跨平台项目界面开发的第一选择,本课程基于这两种框架在加上VC++,给大家讲解延时如何开发出一个视频播放器,各个模块如何结合,如何考虑性能问题,如何设计封装类,如何处理各种异常情况。

    32552 人正在学习 去看看 夏曹俊

private final Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case :
//定义自己的消息事件
break;

default:
break;
}
}
};
/*延时200ms更新UI*/
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
// 更新UI
mTextView.setText("延时200ms后更新UI");
}
}, 200);
2016-04-19 14:15:37 u012246458 阅读数 445
  • 基于qt和ffmpeg视频播放器开发实战

    ffmpeg是世界上应用广的开源视频处理框架,在各个平台(windows,linux,嵌入式、Android、IOS)被广泛应用,可以说是做视频相关项目技能 qt是目前跨平台项目界面开发的第一选择,本课程基于这两种框架在加上VC++,给大家讲解延时如何开发出一个视频播放器,各个模块如何结合,如何考虑性能问题,如何设计封装类,如何处理各种异常情况。

    32552 人正在学习 去看看 夏曹俊

延时执行暂有两种,一种是需要和activity的,一种不需要:

1、在主线程 ,需要activity:Handler是activity中的方法

new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    StaticUtils.gestureLoginORPerfectInfo(MainActivity.this);
                }
            }, 1000);

2、在子线程,不需要activity:

Timer timer = new Timer();  
timer.schedule(new TimerTask() {  
  
    @Override  
    public void run() {  
        dialog.showKeyboard();  
    }  
}, 200);  


2019-07-18 20:17:16 weixin_42574892 阅读数 1228
  • 基于qt和ffmpeg视频播放器开发实战

    ffmpeg是世界上应用广的开源视频处理框架,在各个平台(windows,linux,嵌入式、Android、IOS)被广泛应用,可以说是做视频相关项目技能 qt是目前跨平台项目界面开发的第一选择,本课程基于这两种框架在加上VC++,给大家讲解延时如何开发出一个视频播放器,各个模块如何结合,如何考虑性能问题,如何设计封装类,如何处理各种异常情况。

    32552 人正在学习 去看看 夏曹俊

Android延时执行方法

1、使用线程,利用线程休眠达到延时效果。

new Thread(new Runnable() {
    @Override
    public void run() {
        try {
            Thread.sleep(10 * 1000);  //线程休眠10秒执行
            //TODO  todo somthing here
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}).start();

2、使用handler延时执行方法

new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
       //TODO  todo somthing here
      }
},10 * 1000);  //延迟10秒执行

3、使用定时器Timer执行延时任务

TimerTask task = new TimerTask(){        
	public void run(){      
 		//TODO  todo somthing here
  		}   
  	};    
  Timer timer = new Timer(); 
  //10秒后执行
  timer.schedule(task, 10 * 1000);  


2019-01-28 16:10:18 qq_43741569 阅读数 110
  • 基于qt和ffmpeg视频播放器开发实战

    ffmpeg是世界上应用广的开源视频处理框架,在各个平台(windows,linux,嵌入式、Android、IOS)被广泛应用,可以说是做视频相关项目技能 qt是目前跨平台项目界面开发的第一选择,本课程基于这两种框架在加上VC++,给大家讲解延时如何开发出一个视频播放器,各个模块如何结合,如何考虑性能问题,如何设计封装类,如何处理各种异常情况。

    32552 人正在学习 去看看 夏曹俊
               
  1. 开启新线程 

    new Thread(new Runnable(){   

        public void run(){   

            Thread.sleep(XXXX);   

            handler.sendMessage(); //告诉主线程执行任务   

        }   

    }).start 

  2. 利用定时器

    TimerTask task = new TimerTask(){   

        public void run(){   

        //execute the task 

        }   

    };   

    Timer timer = new Timer(); 

    timer.schedule(task, delay); 

    // 

  3. new Handler().postDelayed(new Runnable(){   

        public void run() {   

        //execute the task   

        }   

     }, delay);   

  4. 利用AlarmManager,特点时刻广播指定意图 能实现,一般的简单任务不这么做。

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

2015-09-05 22:22:21 shenyuanqing 阅读数 5520
  • 基于qt和ffmpeg视频播放器开发实战

    ffmpeg是世界上应用广的开源视频处理框架,在各个平台(windows,linux,嵌入式、Android、IOS)被广泛应用,可以说是做视频相关项目技能 qt是目前跨平台项目界面开发的第一选择,本课程基于这两种框架在加上VC++,给大家讲解延时如何开发出一个视频播放器,各个模块如何结合,如何考虑性能问题,如何设计封装类,如何处理各种异常情况。

    32552 人正在学习 去看看 夏曹俊

Android延时操作方法

方法1:Handler postDelayed方法

方法2:线程sleep

方法3:计时器Timer

效果图


MainActivity

package com.example.shen.delaytest;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;


public class MainActivity extends Activity {
    private Handler handler;
    private TextView tvBegin,tvDelay;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        handler=new Handler(){
            public void handleMessage(Message msg){
                if(msg.what==0x100){
                    tvDelay.setText("DelayTime2="+getTime());
                }
                if(msg.what==0x101){
                    tvDelay.setText("DelayTime3="+getTime());
                }
            }
        };

        tvBegin=(TextView) findViewById(R.id.tv_begin);
        tvDelay=(TextView) findViewById(R.id.tv_delay);
        tvBegin.setText("BeginTime=" + getTime());

        delay1();
    }

    //方法1
    private void delay1(){
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                tvDelay.setText("DelayTime1="+getTime());
                delay2();
            }
        },5000);
    }

    //方法2
    private void delay2(){
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(5000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                Message msg=new Message();
                msg.what=0x100;
                handler.sendMessage(msg);
                delay3();
            }
        }).start();
    }

    //方法3
    private void delay3(){
        TimerTask task=new TimerTask() {
            @Override
            public void run() {
                Message msg=new Message();
                msg.what=0x101;
                handler.sendMessage(msg);
            }
        };
        Timer timer=new Timer();
        timer.schedule(task,5000);
    }

    private String getTime(){
        long time=System.currentTimeMillis();
        Date date=new Date(time);
        SimpleDateFormat format=new SimpleDateFormat("HH:mm:ss");
        return format.format(date);
    }
}



android 延时线程

阅读数 441

延时跳转界面

博文 来自: qq_18413391
没有更多推荐了,返回首页