2012-07-12 43 views
1

我激活與2個任務的計時器。我定時器不起作用

  1. 下載1張圖像/秒,並顯示在SD卡上的每個圖像 。
  2. 顯示在讀取SD卡上的圖像不依賴於 互聯網連接,並有一個快速滾動我的96圖像到 得到一個小視頻。

問題是,當我用延遲0.4秒的計時器激活我的第二個任務時,應用程序跳過1或2張圖像。確實只有大約45個圖像顯示。

 MyTimerTask2 myTask = new MyTimerTask2(); 
     myTimer = new Timer(); 

     myTimer.schedule(myTask, 0 , 400); 

有人可以幫助我嗎?

+0

請在這裏發表您的完整代碼... – 2012-07-12 12:56:47

+0

沒有辦法,我們可以用我們被賦予的代碼量有所幫助。此外,您似乎正在嘗試錄製圖像,並且快速翻轉它們以使其看起來像視頻。是不是有一個原因,你不只是錄製視頻? – FoamyGuy 2012-07-12 13:04:45

回答

1

使用處理器

Runnable runnableforadd ; 
        Handler handlerforadd ; 
        handlerforadd = new Handler(); 
        runnableforadd = new Runnable() { 
         @Override 
         public void run() { 
          //Your Code Here 
          handlerforadd.postDelayed(runnableforadd, 400);       } 
        }; 
        handlerforadd.postDelayed(runnableforadd, 0); 
0

,因爲你還沒有定義您的TimerTask您的計時器不工作。定時器需要爲子類,這需要加以界定,像這樣被創建:

private long splashDelay = 5000; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.splash); 
    TimerTask task = new TimerTask() 
     { 

     @Override 
     public void run() { 
     //Your code here 

     } 

    }; 

    Timer timer = new Timer(); 
    timer.schedule(task, splashDelay); 

} 

這是一個閃屏一個Timer,但我敢肯定,你可以用它爲任何你需要的。

這裏有幾個鏈接,可以幫助:

http://developer.android.com/reference/java/util/TimerTask.html

http://android-developers.blogspot.com/2007/11/stitch-in-time.html

如果你看一下第一個鏈接,你會看到TimerTask有一個叫run抽象方法。抽象方法必須被覆蓋。您沒有重寫運行方法,因此您的應用無法按預期工作。

希望這會有所幫助。祝你好運!

+0

事實上,他已經定義了TimeTask類,它是TimeTask2 – 2012-07-12 13:49:57

+0

不中列出的代碼。他實例化的類,創建一個Timer對象,但他並沒有確定的任務,重寫run方法。基本上,他沒有告訴應用程序如何處理定時器。這裏是一個鏈接,應該有所幫助:http://android-developers.blogspot.com/2007/11/stitch-in-time.html – BlackHatSamurai 2012-07-12 13:53:12

+0

一個如何實例化對象沒有定義的類。這沒有意義。假設他定義了一個名爲TimeTask2的類,他爲什麼會使用它?他的程序甚至無法編譯......斯里,但你錯了。 – 2015-08-27 14:34:50