Andorid定时器封装类

public class TimerUtil {    private static final String TAG = "TimerUtil";        private static Handler  mTimeHandler   = null;    private static boolean  mTimerMark     = false;    private static Runnable mTimerRunnable = null;    private static int      mUpdateTime    = 0;    private TimerUtil() {    };    /**     * 定时器开始定时     *      * @param doThing 定时器处理事情     * @param updateTime 定时器时间     * @since V1.0     */    public static void startTime(Runnable doThing, int updateTime) {        if (null == doThing || updateTime < 0) {            return;        }        if (null == mTimeHandler) {            mTimeHandler = new Handler();            mTimerRunnable = doThing;            mUpdateTime = updateTime;            mTimerMark = true;        }        if (mTimerMark) {            mTimeHandler.postDelayed(mTimerRunnable, 0);        } else {            mTimeHandler.postDelayed(null, 0);        }    }    /**     * 定时器开始定时     *      * @param doThing 定时器处理事情     * @param updateTime 定时器时间     * @param mode 定时器模式     * @since V1.0     */    public static void startTime(Runnable doThing, int updateTime, boolean mode) {        if (null == doThing || updateTime < 0) {            return;        }        if (null == mTimeHandler) {            mTimeHandler = new Handler();            mTimerRunnable = doThing;            mUpdateTime = updateTime;            mTimerMark = true;        }        if (mTimerMark) {            if (mode) {                mTimeHandler.postDelayed(mTimerRunnable, 0);            } else {                mTimeHandler.postDelayed(mTimerRunnable, updateTime);            }        } else {            mTimeHandler.postDelayed(null, 0);        }    }        /**     * 这里对方法做描述     *      * @since V1.0     */    public static void updataTime() {        if (mTimerMark) {            mTimeHandler.postDelayed(mTimerRunnable, mUpdateTime);        } else {            mTimeHandler.postDelayed(null, 0);        }    }    /**     * 这里对方法做描述     *      * @since V1.0     */    public static void stopTime() {        mTimerMark = false;        if (null != mTimeHandler) {            mTimeHandler.removeCallbacks(mTimerRunnable);            mTimeHandler = null;        }    }        /**     * time格式 String型的日 如:昨天、今天、8月24日 15:30     * @param ltime     * @param context     * @return     * @since V1.0     */   public synchronized static String getTime_FormatTime_MMDD(long ltime, Context context) {       String time = "";              Calendar dateCalendar = Calendar.getInstance();       dateCalendar.setTimeInMillis(ltime);              Calendar targetCalendar = Calendar.getInstance();       targetCalendar.set(Calendar.HOUR_OF_DAY, 0);       targetCalendar.set(Calendar.MINUTE, 0);                            if (dateCalendar.after(targetCalendar)) {           time = context.getString(R.string.today) +" "+ time;           return time;       } else {           targetCalendar.add(Calendar.DATE, -1);           if (dateCalendar.after(targetCalendar)) {               time = context.getString(R.string.yesterday) +" "+ time;               return time;           }       }              String otherSDF = context.getString(R.string.mmdd);       Date date = dateCalendar.getTime();       SimpleDateFormat sfd = new SimpleDateFormat(otherSDF);       time = sfd.format(date);       CLog.d(TAG, "getTime_FormatTime_MMDD time:"+time);       return time;   }        /**      * time格式 String型的日 如:昨天、今天、8月24日 15:30      * @param ltime      * @param context      * @return      * @since V1.0      */    public synchronized static String getTime_FormatTime_MMDDHHMM(long ltime, Context context) {        String time = "";                Calendar dateCalendar = Calendar.getInstance();        dateCalendar.setTimeInMillis(ltime);                int month = dateCalendar.get(Calendar.MONTH) + 1;        int day = dateCalendar.get(Calendar.DAY_OF_MONTH);        int hour = dateCalendar.get(Calendar.HOUR_OF_DAY);        int minute = dateCalendar.get(Calendar.MINUTE);        time = String.format("%02d:%02d", hour, minute);                Calendar targetCalendar = Calendar.getInstance();        targetCalendar.set(Calendar.HOUR_OF_DAY, 0);        targetCalendar.set(Calendar.MINUTE, 0);        if (dateCalendar.after(targetCalendar)) {            time = context.getString(R.string.today) +" "+ time;            return time;        } else {            targetCalendar.add(Calendar.DATE, -1);            if (dateCalendar.after(targetCalendar)) {                time = context.getString(R.string.yesterday) +" "+ time;                return time;            }        }                time = String.format(Locale.ENGLISH,"%02d-%02d %02d:%02d", month, day, hour, minute);        CLog.d(TAG, "getTime_FormatTime_MMDDHHMM time:"+time);        return time;    }        /**     * 这里对方法做描述     *      * @return time格式 nnnn-mm-dd hh:mm:ss     * @since V1.0     */    public synchronized static String getTime_nnnnyydd(long t) {        if (t == 0) {            return "";        }        Calendar cale = Calendar.getInstance();        cale.setTimeInMillis(t);        int year = cale.get(Calendar.YEAR);        int month = cale.get(Calendar.MONTH) + 1;        int day = cale.get(Calendar.DAY_OF_MONTH);        int hour = cale.get(Calendar.HOUR_OF_DAY);        int minute = cale.get(Calendar.MINUTE);        int second = cale.get(Calendar.SECOND);        String time = String.format(Locale.ENGLISH, "%d-%02d-%02d %02d:%02d:%02d",  year, month, day, hour, minute, second);        CLog.d(TAG, "getTime_nnnnyydd time:"+time);        return time;    }        /**     * 这里对方法做描述     *      * @return time格式 nnnn-mm-dd hh:mm:ss     * @since V1.0     */    public synchronized static String getTime_nnnnyydd(Calendar cale) {        if (cale == null) {            return "";        }                int year = cale.get(Calendar.YEAR);        int month = cale.get(Calendar.MONTH) + 1;        int day = cale.get(Calendar.DAY_OF_MONTH);        int hour = cale.get(Calendar.HOUR_OF_DAY);        int minute = cale.get(Calendar.MINUTE);        int second = cale.get(Calendar.SECOND);        String time = String.format(Locale.ENGLISH,"%d-%02d-%02d %02d:%02d:%02d", year,month,day, hour, minute, second);        CLog.d(TAG, "getTime_nnnnyydd time:" + time);        return time;    }}

更多相关文章

  1. android定时器
  2. android的Android(安卓)中Intent和PendingIntent的区别(转)
  3. Android(安卓)java List 转Json格式
  4. Android支持的媒体格式
  5. Android中String的处理
  6. android 基于ffmpeg将视频采集的nv21转h264格式数据
  7. Android中自定义属性的格式详解
  8. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Fedora镜像
  9. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像

随机推荐

  1. Ubuntu中编译Android(安卓)JellyBean 4.2
  2. (2) 搭建 Android 系统开发环境
  3. android 播放assets目录内的音乐,及使用Se
  4. YOLOv5-pytorch迁移至android
  5. Android RxJava与Retrofit与RecyclerView
  6. 了解android studio
  7. android 关于listview scrollview 底部
  8. Ubuntu下编译AndroidNDK项目报arm-linux-
  9. Android 常用颜色列表
  10. Android 进程内存、CPU使用查看