facebook twitter hatena line email

「Android/遅延処理」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(○m秒後に処理)
(x時間間隔で発行)
 
(同じ利用者による、間の8版が非表示)
行7: 行7:
  
 
0Lだと瞬時
 
0Lだと瞬時
 +
 +
==定義後に削除もできる==
 +
Handler handler = new Handler();
 +
Runnable runnable = new Runnable() {
 +
    public void run() {
 +
        Log.i("testtest", "run");
 +
    }
 +
};
 +
handler.postDelayed(runnable, 10000L); // 10000ms後に処理
 +
// 以下で定義削除
 +
handler.removeCallbacks(runnable);
 +
 +
==x時間間隔で発行==
 +
Handler handler = new Handler();
 +
Runnable runnable = new Runnable() {
 +
    public void run() {
 +
        Log.i("testtest", "run");
 +
        handler.postDelayed(this, 10000L); // ここのthisの部分、runnable変数にできないのでthisしておけば良い。
 +
    }
 +
};
 +
handler.postDelayed(runnable, 10000L); // 10000ms後に処理

2019年3月5日 (火) 15:20時点における最新版

○m秒後に処理

new Handler().postDelayed(new Runnable() {
    public void run() {
       Log.i("testtest", "run");
    }
}, 10000L); // 10000ms後に処理

0Lだと瞬時

定義後に削除もできる

Handler handler = new Handler();
Runnable runnable = new Runnable() {
    public void run() {
        Log.i("testtest", "run");
    }
};
handler.postDelayed(runnable, 10000L); // 10000ms後に処理
// 以下で定義削除
handler.removeCallbacks(runnable);

x時間間隔で発行

Handler handler = new Handler();
Runnable runnable = new Runnable() {
    public void run() {
        Log.i("testtest", "run");
        handler.postDelayed(this, 10000L); // ここのthisの部分、runnable変数にできないのでthisしておけば良い。
    }
};
handler.postDelayed(runnable, 10000L); // 10000ms後に処理