Android 定時器,android定時器

來源:互聯網
上載者:User

Android 定時器,android定時器

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;    }}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.