當前位置:首頁 » 安卓系統 » android秒計時器

android秒計時器

發布時間: 2023-02-11 13:44:20

㈠ android service+broadcastreceiver怎麼實現秒錶計時器

Service起線程監聽系統時間,系統時間變化一定毫秒數之後發Broadcast,在Activity裡面做broadcastreceiver來接收Service發的廣播來更新顯示。

如果你需要應用在後台的時候也在計時的話才需要Service,否則直接在Activity里用Handler單起一個線程也可以。

㈡ Android定時器AlarmManager

AlarmManager是Android的全局定時器。就是在指定時間做一個事情(封裝在PendingIntent)。通過PendingIntent的getActivity()、getService()或getBroadcast()來執行。
聽起來AlarmManager和Timer很類似,但是Timer有可能因為手機休眠而被殺掉服務,但是AlarmManager可以做到喚醒手機。

註:ALARM_SERVIC是context的一個常量。

以上絕對時間就是手機的時間,相對時間是相對於當前開機時間來說。例如如果是絕對時間,那麼你測試可以通過修改系統時間來提前觸發。而相對時間的使用場景是強調多久之後觸發,例如2小時後,這個時候把時間修改到2小時後也是沒用的。
註:以前還有一個POWER_OFF_WAKEUP,即使在關機後還能提醒,但是Android4.0以後就沒有了。

該方法用於設置一次性鬧鍾。第一個參數是鬧鍾類型,第二個參數是觸發時間,第三個參數是動作。

和set一樣,但是時間更精準。

重復鬧鍾,第1、2、4個參數同上,第3個參數是兩次鬧鍾的時間間隔。

和setInexactRepeating一樣,但是時間更精準。

以上四個方法時間精不精準的原因還沒有深入研究,大概是是否允許系統同時發出多個提醒,意義在於系統喚醒cpu後會把時間接近的alarm同時發出,避免重復喚醒cpu,減少電量。

取消鬧鍾。

目的:在指定時間從一個發送個廣播,收到廣播後列印log。界面如下面這樣。

布局:

廣播接收器:

MainActivity

AndroidManifest要注冊一下receiver

經過測試,以上的時間間隔intervalMillis即使設置5秒也是沒用的,因為誤差(幾十秒呢)無法避免,即使是setRepeating。所以精確是相對的。

㈢ android秒錶問題

處理延時 你試著改成1秒鍾發一次 就會發現 時間很正確

㈣ 安卓秒錶計時器,在通知欄顯示

Jakub.Dyszkiewicz.Timer.Stopwatch.Holo.v1.4.Android.CHS-AnZhi.apk

㈤ Android開發——定時器處理

  開發中經常遇到用計時器的時候,例如:每秒輸出一次log,這時候就要用到延時操作,這里總結了幾種常用的方法。

   AlarmManager 是Android的全局定時器,可以在指定時間執行定時任務。定時任務通過PendingIntent 的 getActivity()、getService()或 getBroadcast() 來執行。簡單的說就是我們設定一個時間,然後在該時間到來時,AlarmManager為我們廣播一個我們設定的Intent出來,在接收到設定的Intent時執行定時任務。

(2) setRepeating(int type,long startTime,long intervalTime,PendingIntent pi);
該方法用於設置重復鬧鍾,其中參數說明如下:
type:鬧鍾類型
startTime:首次執行鬧鍾的時間
intervalTime:兩次執行鬧鍾的時間間隔
pi:鬧鍾響應動作

(3) setInexactRepeating(int type,long startTime,long intervalTime,PendingIntent pi);
該方法也用於設置重復鬧鍾,與第二個方法相似,區別在於其兩次鬧鍾執行的間隔時間不是固定的。

   AlarmManager實現定時的方法,我還沒有用到過,以上內容是在網上查找資料後自己在一個小demo中小小試驗了的,有錯誤或描述不清的地方請見諒。下面是我參考的介紹AlarmManager的三篇文章。

㈥ Android中計時器總結

java.util.Timer 的源碼中看到Timer的構造方法

我們要用到的schele()方法如下:

另外Timer調用task還有以下方法

兩秒鍾之後timer_tv_1開始顯示當前時間並每一秒更新一次

別忘了在onDestroy()中

㈦ android studio怎麼編寫計時器

類似iOS中的NSTimer 定時器功能,開關控制隨機幾秒鍾執行指定功能;

平台:Android

開發環境:android Studio

代碼實現:

一. 創建Handler對象和Runnable對象

[java] view plain print?
Handler handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
if (mPageOpen){

if (interstitialAd.isLoaded()){ //示例-谷歌插頁廣告
interstitialAd.show();
}else {
AdRequest adRequest = new AdRequest.Builder().build();
interstitialAd.loadAd(adRequest);
}
int random = (int)(Math.random() * 10 +20)*1000; //隨機時間循環執行
handler.postDelayed(this, random);
}
}
};

二. 開關控制

[java] view plain print?
Switch mSwith = (Switch) findViewById(R.id.switchPage);
mSwith.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
mPageOpen = true;
} else {
mPageOpen = false;
}

handler.postDelayed(runnable, 15000); //開關控制執行
}
});

三. 移除定時器

[java] view plain print?
handler.removeCallbacks(runnable);

㈧ 如何在Android下設計一個簡單計時器

簡介:計時器小程序——秒錶計時器,程序界面簡潔,只有一個時間顯示區域和兩個圖片按鈕,一個按鈕是開始/暫停,另一個按鈕是停止。
1.功能:
(1)根據用戶設置.按0.1秒或1秒為最小單位計時,滿60秒進為分鍾,最大單位是分鍾。
默認分鍾為兩位,超過兩位後自動變為三位分鍾。
(2).顯示格式為
1.最小計時單位為0.1秒時,顯示為:分鍾:秒:0.1秒。例如:02:07:5
2.最小計時單位為1秒時,顯示為:分鍾:秒。例如:02:07
2.操作步驟
(1).按開始按鈕,開始計時,此時開始按鈕變為暫停按鈕
(2).按暫停按鈕,暫停計時,顯示當前的計時時間
(3).按停止按鈕,停止計時,暫停按鈕恢復為開始按鈕,時間顯示為:00:00:00
(4)按menu鍵彈出menu菜單,第一項為設置計時單位,含有子菜單,可以設置計時單位為1秒或者為
Android實現秒錶計時器的程序

㈨ android 裡面的計時器

沒明白你到底想問的是什麼?
5秒間隔本身是ANdroid定義的系統不相應時間

㈩ android定時器的使用

  目前在項目中使用過的定時器主要是兩種方式:1.handler的延時任務 2.timer的定時器

  下面主要來介紹這兩種方式 定時器的用法,和遇到的坑 :
  1.handler的延時任務
  寫了一個demo,是關於hanlder發送延時消息和 取消延時消息的

  但是在實際運用的過程中,常常會出現無法移除延時消息的問題,這個問題主要是因為兩個runnable的對象不是同一個,
  當Activity進入後台運行後再轉入前台運行,removeCallbacks無法將updateThread從message queue中移除。這是為什麼呢?
  在Activity由前台轉後台過程中,線程是一直在運行的,但是當Activity轉入前台時會重新定義Runnable runnable;也就是說此時從message queue移除的runnable與原先加入message queue中的runnable並非是同一個對象。  解決方式1:如果把runnable定義為靜態的則removeCallbacks不會失效,對於靜態變數在內存中只有一個拷貝(節省內存),JVM只為靜態分配一次內存,在載入類的過程中完成靜態變數的內存分配,我們做如下修改就能解決上面的這個問題.

  解決方式2:將所有的runnable任務放到一個集合中,根據runnable的id移除相應的任務,即可以解決這個問題

2.timer的延時任務
同樣用上面的demo來說明使用方法:
要注意的是:
TimerTask運行在一個單獨的線程里,而不是UI線程。所以使用 Android timer時,注意android的單線程原則,確保線程安全。不要在TimerTask的run方法中做UI相關的操作,如:TextView.setText()等,這樣可能會導致UI線程阻塞。如果需要可以使用handler向UI線程發消息,具體處理由UI線程自己完成。在使用完Timer之後,要使用Timer的cancel方法取消Timer,否則Timer一直在運行。

  這里需要注意的是,timer的cancel方法只能執行一次,不能在調用了cancel之後再進行timer的任務執行。

參考文章:
Android 定時器實現的幾種方式和removeCallbacks失效問題詳解

Android 中Timer和TimeTask完成定時任務

熱點內容
雙指針演算法 發布:2025-05-17 16:04:04 瀏覽:702
媒體采訪問答 發布:2025-05-17 15:59:44 瀏覽:689
androidstudiojni 發布:2025-05-17 15:59:42 瀏覽:164
唱吧上傳伴奏歌詞 發布:2025-05-17 15:53:29 瀏覽:861
5g伺服器怎麼填寫 發布:2025-05-17 15:49:39 瀏覽:314
c語言二級操作題 發布:2025-05-17 15:48:45 瀏覽:376
手機錄音機在哪個文件夾 發布:2025-05-17 15:43:37 瀏覽:48
我的世界手機版伺服器如何給管理 發布:2025-05-17 15:34:06 瀏覽:830
hbase與傳統資料庫 發布:2025-05-17 15:28:56 瀏覽:168
看我QQ密碼多少 發布:2025-05-17 15:27:12 瀏覽:264