直播电商源码,活动开始时间计时器

直播电商源码,活动开始时间计时器实现的相关代码

1
 private void stopTime() {<br>        LogUtils.e("stopTime");<br>        if (timer != null) {<br>            timer.cancel();<br>            timer = null;<br>        }<br>        if (task != null) {<br>            task.cancel();<br>            task = null;<br>        }<br>    }<br> <br> <br>    Timer timer;<br>    TimerTask task;<br> <br>    private void startTime(String time) {<br>        LogUtils.e("startTime");<br>        if (timer == null) {<br>            timer = new Timer();<br>        }<br>        if (task == null) {<br>            task = new TimerTask() {<br>                @Override<br>                public void run() {<br>                    startActivity(new Intent(RestService.this, RestHintActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));<br>                }<br>            };<br>        }<br> <br>        time = time.replace("分钟", "");<br>//        long period = Integer.parseInt(time) * 60;<br>        long period = 10000;<br>        timer.schedule(task, period);<br>    }<br> <br> <br> <br> <br>timer回收<br>   timerTask.cancel();<br>                        timer.purge();将timer中的task为cancel的状态进行回收;<br>                        timerTask = null;<br>demo:<br> <br>private void initTimer() {<br> <br>        if (timer == null) {<br>            timer = new Timer();<br>        }<br>        if (timerTask == null) {<br>            timerTask = new TimerTask() {<br>                @Override<br>                public void run() {<br>                    timeIsRun = true;<br>                    if (video_duration > 999) {<br>                        return;<br>                    }<br>                    if (mediaPlayer != null) {<br>                        try {<br>                            video_position = mediaPlayer.getCurrentPosition() / 1000;<br> <br>                        } catch (IllegalStateException e) {<br>                            Log.e(TAG, "timer中 media获取错误: ");<br>                        }<br>                    }<br>                    Log.e(TAG, "run video_position: "+video_position );<br>                    Log.e(TAG, "run video_duration: "+video_duration );<br>                    String current = BigDecimalUtils.div((video_duration - video_position) + "", video_duration + "", 5);<br> <br>                    if (BigDecimalUtils.compare(current, video_first) && !video_is_first) {<br>//                        第一次超过1/4时,上报1/4视频进度;<br>                        Log.e(TAG, "上报 play_first: ");<br>                        commitAdEvent(adInfoUtils.getList_video_play_first());<br>                        video_is_first = true;<br>                    }<br>                    if (BigDecimalUtils.compare(current, video_midpoint) && !video_is_midpoint) {<br>//                        第一次超过2/4时,上报2/4视频进度;<br>                        Log.e(TAG, "上报 video_play_midpoint: ");<br>                        commitAdEvent(adInfoUtils.getList_video_play_midpoint());<br>                        video_is_midpoint = true;<br>                    }<br>                    if (BigDecimalUtils.compare(current, video_third) && !video_ist_third) {<br>//                        第一次超过3/4时,上报3/4视频进度;<br>                        Log.e(TAG, "上报 video_play_third: ");<br>                        commitAdEvent(adInfoUtils.getList_video_play_third());<br>                        video_ist_third = true;<br>                    }<br> <br>                    handler.sendEmptyMessage(updataTimeType);<br> <br>                    if (!videoDialog.isShowing()||video_position == video_duration) {<br>                        timeIsRun = false;<br>                        timerTask.cancel();<br>                        timer.purge();<br>                        timerTask = null;<br>                        return;<br>                    }<br> <br>                    Log.e("TAG", "run video_position: " + video_position);<br>                }<br>            };<br>        }<br>        if (timeIsRun) {<br>            return;<br>        }<br>        timer.schedule(timerTask, 0, 500);<br>    }<br> 

​以上就是直播电商源码,活动开始时间计时器实现的相关代码, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(11)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示