facebook twitter hatena line email

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

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(x時間間隔で発行)
 
(同じ利用者による、間の7版が非表示)
行8: 行8:
 
0Lだと瞬時
 
0Lだと瞬時
  
==定義のに削除もできる==
+
==定義後に削除もできる==
 
  Handler handler = new Handler();
 
  Handler handler = new Handler();
 
  Runnable runnable = new Runnable() {
 
  Runnable runnable = new Runnable() {
            public void run() {
+
    public void run() {
                Log.i("testtest", "run");
+
        Log.i("testtest", "run");
            }
+
    }
 
  };
 
  };
  handler.postDelayed(runnable, 10000L);
+
  handler.postDelayed(runnable, 10000L); // 10000ms後に処理
 +
// 以下で定義削除
 
  handler.removeCallbacks(runnable);
 
  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後に処理