定期的にコードを実行する必要があります(サーバーに接続し、MySQLデータベースから毎分データをプルします)。この目的のために、私はSyncクラスを持っています:
public class Sync {
static private Handler handler = new Handler();
Runnable task;
public Sync(Runnable task, long time) {
this.task = task;
handler.removeCallbacks(task);
handler.postDelayed(task, time);
}
}
そして私の活動では私は持っています:
public void onCreate(Bundle savedInstanceState) {
...
Sync sync = new Sync(call,60*1000);
...
}
final private Runnable call = new Runnable() {
public void run() {
//This is where my sync code will be, but for testing purposes I only have a Log statement
Log.v("test","this will run every minute");
}
};
テスト期間を短くしてこれを試しましたが、実行は1回だけです。初めてメッセージをログに記録するとき、それは最後でもあります。誰かが私がここで間違っていることを見ますか?ありがとう!