Back to tech

Androidで1秒待つ処理

2 min read
Table of Contents
Android 指定した時間の後にメソッドを実行する : ノンプログラマー・プログラミング・ガイド
cuuma.publog.jp
image

“ボタン押して1秒待ち、1秒待ってからボタンが押される。待てないユーザーが待ち時間でボタンを押した場合は警告メッセージを出す”というサンプルプログラムです

メモ程度に書いておきます

MainActivity.javaにHandlerを追記し、関数化して完成

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    //待ち時間用のHandlerと判定
    final Handler handler = new Handler();
    private boolean wait_time = true;

    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        button = (Button)findViewById(R.id.button);
        button.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
       if(wait_time == true) {
            switch (v.getId()) {
                case R.id._button:
                    Log.d("TAG", "OK");
                    wait_time(); //wait計測する関数を呼び出し
                    break;
            }
       } else {
            Log.d("TAG", "NG");
       }
    }

    /**
     * ボタンがおされたら1秒待つ
     * waitの計測
     */
    public void wait_time(){
        wait_time = false;

        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                wait_time = true;
            }
        }, 1000);
    }


}

BLE通信をするときは、wait時間を入れないとエラー起きるため、BLEアプリを開発する人は必須です

参考文献