Android如何实现抢购倒计时功能

  介绍

这篇文章将为大家详细讲解有关Android如何实现抢购倒计时功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、效果图

 Android如何实现抢购倒计时功能

二、思路

算多少秒,秒数取余60岁(满足分后剩下的秒数)
算多少分,秒数除60,再取60余(总分数满足小时后剩下的分数)
算多少时,秒数除60,除60,再取余24(总小时满足天后剩下的小时)
算多少天,秒数除60,除60,除24等到的整数就是天数

三,实现步骤:

我们这里的时间格式为后台返回,格式为:

2021 - 12 - 24,就是

1,时间转换的工具类

,//将年- - -月- - -天,时:分:秒转化为毫秒格式   ,public  static  long  residueTimeout (String  endDate, String  newDate), throws  ParseException  {      SimpleDateFormat 才能;df =, new  SimpleDateFormat (“yyyy-MM-dd  HH: mm: ss");   Date 才能;d1 =, df.parse (endDate);   Date 才能;d2 =, df.parse (newDate);   long 才能;diff =, d1.getTime(),安康;d2.getTime ();      return 才能;差异;   ,}      ,/*   *,才能将毫秒转换成时间戳   ,*/,public  static  String  stampToDate (Long  s), {   String 才能,res;   SimpleDateFormat 才能;SimpleDateFormat =, new  SimpleDateFormat (“yyyy-MM-dd  HH: mm: ss");   Date 才能;Date =, new 日期(年代);   时间=res 才能;simpleDateFormat.format(日期);   return 才能,res;   以前,}

2,时间倒计时工具类

package  com.sjl.keeplive.huawei;   import  android.os.CountDownTimer;/* *   ,*倒计时工具类   ,*/public  class  CountDownTimerUtils  {/* *   *,才能倒计时结束的回调接口   ,*/,public  interface  FinishDelegate  {   void 才能onFinish ();   ,}/* *   *,才能定期回调的接口   ,*/,public  interface  TickDelegate  {   void 才能onTick (long  pMillisUntilFinished);   ,}      ,private  final  static  long  ONE_SECOND =, 1000;/* *   *,才能总倒计时时间   ,*/,private  long  mMillisInFuture =, 0;/* *   *,才能定期回调的时间,必须大于0,否则会出现ANR   ,*/,private  long  mCountDownInterval;/* *   *,才能倒计时结束的回调   ,*/,private  FinishDelegate  mFinishDelegate;/* *   *,才能定期回调   ,*/,private  TickDelegate  mTickDelegate;   ,private  MyCountDownTimer  mCountDownTimer;/* *   *,才能获取,CountDownTimerUtils   ,*   *,才能@return  CountDownTimerUtils   ,*/,public  static  CountDownTimerUtils  getCountDownTimer (), {   return 才能;new  CountDownTimerUtils ();   ,}/* *   *,才能设置定期回调的时间,调用{@link  # setTickDelegate (TickDelegate)}   ,*   *,才能@param  pCountDownInterval 定期回调的时间,必须大于0   *,才能@return  CountDownTimerUtils   ,*/,public  CountDownTimerUtils  setCountDownInterval (long  pCountDownInterval), {   时间=this.mCountDownInterval 才能;pCountDownInterval;   return 才能;;   ,}/* *   *,才能设置倒计时结束的回调   ,*   *,才能@param  pFinishDelegate 倒计时结束的回调接口   *,才能@return  CountDownTimerUtils   ,*/,public  CountDownTimerUtils  setFinishDelegate (FinishDelegate  pFinishDelegate), {   时间=this.mFinishDelegate 才能;pFinishDelegate;   return 才能;;   ,}/* *   *,才能设置总倒计时时间   ,*   *,才能@param  pMillisInFuture 总倒计时时间   *,才能@return  CountDownTimerUtils   ,*/,public  CountDownTimerUtils  setMillisInFuture (long  pMillisInFuture), {   时间=this.mMillisInFuture 才能;pMillisInFuture;   return 才能;;   ,}/* *   *,才能设置定期回调   ,*   *,才能@param  pTickDelegate 定期回调接口   *,才能@return  CountDownTimerUtils   ,*/,public  CountDownTimerUtils  setTickDelegate (TickDelegate  pTickDelegate), {   时间=this.mTickDelegate 才能;pTickDelegate;   return 才能;;   ,}      ,public  void  create (), {   if 才能;(mCountDownTimer  !=, null), {   ,,mCountDownTimer.cancel ();   ,,mCountDownTimer =,空;   ,,}   if 才能;(mCountDownInterval  & lt;=, 0), {   ,,mCountDownInterval =, mMillisInFuture  +, ONE_SECOND;   ,,}   时间=mCountDownTimer 才能;new  MyCountDownTimer (mCountDownInterval mMillisInFuture也);   mCountDownTimer.setTickDelegate才能(mTickDelegate);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Android如何实现抢购倒计时功能