最近有需要在android使用很復雜的定時任務,android中timer滿足不瞭需求,之前用過Java的Quartz任務調度框架,感受瞭其強大的機制 ,其中使用Cron表達式可以輕松的完成復雜的任務調度,開始嘗試將其在Android中集成,但其依賴jre下的java.beans這個包,集成起來有點復雜,不過Quartz跟java都開源,可以嘗試拿開源框架來集成。在網上找瞭一個更輕量級的並支持Cron表達式的開源框架Cron4j, Cron4j是一個輕量級的java任務調度工具,可以采用Unix Crontab語法(類似Cron表達式)來設置任務調度時間,大小也隻有36KB。
w.sauronsoftware.it/projects/cron4j/download.php
Sonme examples:
5 * * * *:表示在每時的第5分鐘的時候執行一次(如00:05, 01:05, 02:05 etc.)。
* * * * *:表示每分鐘執行一次。
* 12 * * Mon:表示每星期一12時的每一分鐘執行。
使用示例:
import it.sauronsoftware.cron4j.
Scheduler;public class TestScheduler
{ public static void main(String[] args)
throws Throwable
{ Scheduler scheduler = new Scheduler();
scheduler.schedule("* * * * *",
new HelloWorldTask());
scheduler.start();
Thread.sleep(300000);
// pause the main thread for 5 minutes scheduler.stop(); }}