2019年8月30日金曜日

atコマンド

2019 Aug. 30.

時刻指定


$ at 時刻
      2019年1月2日12時13分
      $ at 12:13 01022019
  • 時間:分
  • 時間:分 日.月.年
  • 時間:分 月日年
  • 時間:分 月/日/年
  • 時間:分 年-月-日

コマンド入力終了

Ctrl+D

2019年8月18日日曜日

Android AsyncTaskの処理完了時に実行する処理のプログラム

2019 Aug. 18.
2019 Aug. 17.

(参考サイト)
https://teratail.com/questions/195681
https://akira-watson.com/android/asynctask.html


(MyActivity.java)


public class MyActivity extends AppCompatActivity {

    Button buttonOK;

    /*
     * MyAsyncTask内のListenerインターフェースを呼び出す
     */
    private MyAsyncTask.Listener createListener() {
        return new MyAsyncTask.Listener() {

            /*
             * Listenerインターフェースの抽象メソッドonSuccessにコードを実装
             */
            @Override
            public void onSuccess(String result) {
                CODES_TO_RUN_AFTER_MyAsyncTask;
            }
        };
    }

    /*
     * buttonOKがタップされたらMyAsyncTaskが呼び出される
     */
    buttonOK.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            myAsyncTask = new MyAsyncTask();

            /*
             * MyAsyncTask内のListenerインターフェース型変数listenerに
             * createListener()をセットする
             *     createListener()ではListenerインターフェースの
             *     抽象メソッドonSuccessの実装コードが記述されている。
             *     MyAsyncTask内で"listener.onSuccess()"によって実装コードを実行できる。
             */
            myAsyncTask.setListener(createListener());
            myAsyncTask.execute();
        }
    });

}
(MyAsyncTask.java)
public class MyAsyncTask extends AsyncTask {
    private Listener listener;

    /*
     * 抽象メソッドonSuccess()は、MyAsyncTask内で実行させたい処理。
     * 抽象メソッドonSuccess()は、MyAsyncTaskを呼び出すMyActivity内の
     * createListener()内で実装されている。
     */
    interface Listener {
        void onSuccess(String str);
    }
   
    void setListener(Listener listener) {
        this.listener = listener;
    }

    @Override
    protected String doInBackground(Void... params) {
    }

    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);
        CODES_TO_EXECUTE_onPostExecute;

        /*
         * onSuccess()メソッド実行
         */
        listener.onSuccess(result);
        return;
    }
}