2012-11-29 67 views
1

我正在創建一個與服務器(本地主機)連接的應用程序。倒數計時器中的運行代碼

在我的活動中,我有一個倒數計時器,它將打勾30秒,並在finish()我有一些代碼來檢查服務器上的數據庫是否有任何更改,然後再次啓動計時器,活動中的一個循環。但是計時器似乎只運行一次。當我在調試模式下運行時,計時器在finish()處得到一些錯誤,它表示我錯過了一些與正在運行的API或SDK版本相關的文件夾或文件android:targetSdkVersion="9"

請幫忙我與這個問題。這裏的活動:

public class Account_Activity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    //Creating the UI and some methods 
    counter = new CountDownTimer(30000, 1000) { 

     @Override 
     public void onTick(long millisUntilFinished) { 

     }  

     @Override 
     public void onFinish() { 
      //Codes for checking the changes in the database on the server 
      start(); 
     } 
    }; 
    counter.start(); 
} 
} 

我是否必須做一個線程?

+0

你有沒有考慮過使用[TimerTask](http://developer.android.com/reference/java/util/TimerTask.html)和Timer? – Vinay

+0

感謝您的評論vini。正如我所說,我是Android新手,所以我從來沒有聽說過TimerTask,我想我會看看。 – JozackOverFlow

回答

0
public class Account_Activity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    //Creating the UI and some methods 
    counter = new CountDownTimer(30000, 1000) { 

     @Override 
     public void onTick(long millisUntilFinished) { 

     }  

     @Override 
     public void onFinish() { 
      //Codes for checking the changes in the database on the server 
      new CountDownTimer(30000, 1000).start(); <------Start Again. 
     } 
    }; 
    counter.start(); 
} 
} 
+0

非常感謝你的MAC。 – JozackOverFlow

+0

我還有一些問題MAC。正如你所看到的,在onFinish()方法中,我有一些代碼來檢查服務器中的更改,所以如果我調用新的CountDownTimer(30000,1000).start();它是否還有檢查代碼? – JozackOverFlow

+1

是的,它不會停止您的檢查....感謝您的接受。 – MAC