bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Android計時器和倒計時-創新互聯

  • 成都創新互聯公司專注于臨淄網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供臨淄營銷型網站建設,臨淄網站制作、臨淄網頁設計、臨淄網站官網定制、微信小程序開發服務,打造臨淄網絡公司原創品牌,更為您提供臨淄網站排名全網營銷落地服務。
  • Android計時器和倒計時

  • 計時器

  1. 兩個核心類 Timer 和 TimerTask

1) Timer核心方法

Java代碼

  1. //Schedules the specified task for execution after the specified delay.

  2. void schedule(TimerTask task, long delay)

  3. //Schedules the specified task for repeated fixed-delay execution, beginning after the specified delay.

  4. void schedule(TimerTask task, long delay, long period)

第一個方法只執行一次;

第二個方式每隔period執行一次,delay表示每次執行的延時時間,其實主要表現在第一次的延時效果,比如delay設置為0,那么立馬執行task內容,如果設置為1000,那么第一次執行task會有一秒的延時效果。

2) TimerTask用于繼承(或者直接定義并初始化匿名類),并重寫run方法,定義自己的業務邏輯。

3) 手動結束定時器,

Timer和TimerTask都有cancel方法,而且最好同時調用;

如果已經cancel,下次必須創建新的Timer才能schedule。

4) 如果你在當前的activity中schedule了一個task,但是沒有等到task結束,就按Back鍵finish了當前的activity,Timer和TimerTask并不會自動cancel或者銷毀,它還會在后臺運行,此時如果你在task的某個階段要調起一個控件(比如AlertDialog),而該控制依賴被銷毀的activity,那么將會引發crash。

5) 例如對進度條實現每一秒遞增的效果(主要代碼)

Java代碼  Android計時器和倒計時

  1. //總時長

  2. private static final long TOTAL_QUERY_MINUTES = 50;

  3. //比如每5秒去查詢數據庫

  4. private static final long QUERY_INTERVAL = 5 *1000;

  5. private static final int TIMER_SCHEDULE_CODE = 1;

  6. int timePassed=0;

  7. QueryTimerTask queryTask;

  8. private Timer timer;

  9. //顯示定時器的效果

  10. ProgressBar statusBar;

  11. private Handler mHandler= new Handler(new Handler.Callback() {

  12.     @Override

  13.     public boolean handleMessage(Message msg) {

  14.         switch (msg.what) {

  15.             case TIMER_SCHEDULE_CODE:

  16.                 statusBar.setProgress(timePassed);

  17.                 //Log.w(TAG, "timePassed : " + timePassed + " -- TOTAL_QUERY_MINUTES : " + TOTAL_QUERY_MINUTES);

  18.                 if (timePassed>=TOTAL_QUERY_MINUTES){

  19.                     if (timer != null)

  20.                         timer.cancel();

  21.                     if (queryTask != null)

  22.                         queryTask.cancel();

  23.                     new AlertDialog.Builder(YourActivity.this).

  24.                             setTitle("超時通知").setMessage("已超時,是否繼續等待?")

  25.                         .setPositiveButton("繼續等待", new DialogInterface.OnClickListener() {

  26.                             public void onClick(DialogInterface dialog, int which) {

  27.                                 reSchedule();

  28.                             }

  29.                         })

  30.                         .setNegativeButton("取消任務", new DialogInterface.OnClickListener() {

  31.                             public void onClick(DialogInterface dialog, int which) {

  32.                                 //cancelTask();

  33.                             }

  34.                         }).show();

  35.                 break;

  36.             //....

  37.         }

  38.         return true;

  39.     }

  40. });

  41. void reSchedule() {

  42.     timePassed = 0;

  43.     if (timer != null) {

  44.         timer.cancel();

  45.     }

  46.     if (queryTask != null) {

  47.         queryTask.cancel();

  48.     }

  49.     timer = new Timer();

  50.     queryTask = new QueryTimerTask();

  51.     //每一秒執行一次,第一次有延時一秒的效果

  52.     timer.schedule(queryTask, 1000, 1000);

  53. }

  54. //自定義task

  55. class QueryTimerTask extends TimerTask {

  56.     @Override

  57.     public void run() {

  58.         //比如每過QUERY_INTERVAL去查詢信息

  59.         if ((timePassed * 1000) % QUERY_INTERVAL == 0) {

  60.             //query();

  61.         }

  62.         timePassed++;

  63.         //通知handler去改變statusBar

  64.         Message message = mHandler.obtainMessage();

  65.         message.what = TIMER_SCHEDULE_CODE;

  66.         mHandler.sendMessage(message);

  67.     }

  68. }

 2. 倒計時

其實也可以用上面的方法實現,

安卓額外提供了CountdownTimer類,以后再補充

文章來源:http://itlanbao.com/preview.aspx#1,0

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網頁標題:Android計時器和倒計時-創新互聯
文章位置:http://vcdvsql.cn/article28/dsdcjp.html

成都網站建設公司_創新互聯,為您提供網站內鏈做網站電子商務建站公司軟件開發品牌網站設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設