2019年1月28日月曜日

android開発 AsyncTaskの引数

2019 Feb. 08.
2019 Jan. 28.


(ソース例)


class SampleAsyncTask extends AsyncTask< Class1, Class2, Class3 > {

    protected Class3 doInBackground(Class1... params) {

        return instanceOfClass3;
    }

    protected void onProgressUpdate(Class2... values) {

    }


    protected void onPostExecute(Class3 result) {

    }
}


[Class1](doInBackground()、execute()の引数のクラス名)

Class1はSampleAsyncTaskインスタンスsampleTaskのexecute()メソッドの引数objectOfClass1のクラス名と一致させる。

doInBackground()メソッド定義の引数冒頭のクラス名はClass1と一致させる。
doInBackground()メソッド定義中のparamsはClass1の配列である。paramsの名称は任意である。

execute()が引数を取らない時はClass1の部分をVoidとする。
    class SampleAsyncTask extends AsyncTask<Void, Class2, Class3> {
    protected Class3 doInBackground(Void... params) {


[Class2](onProgressUpdate()の引数のクラス名)

Class2はonProgressUpdate()メソッド定義の引数冒頭のクラス名と一致させる。定義中のvaluesはClass2の配列である。valuesの名称は任意である。
onProgressUpdate()が引数を不要とする時はClass2の部分をVoidとする。
    class SampleAsyncTask extends AsyncTask<Class1, Void, Class3> {
    protected void onProgressUpdate(Void... values) {

[Class3](onPostExecute()の引数のクラス名)

Class3はonPostExecute()メソッド定義の引数冒頭のクラス名と一致させる。定義中のresultの名称は任意である。
onPostExecute()が引数を不要とする時はClass3の部分をVoidとする。
    class SampleAsyncTask extends AsyncTask<Class1, Class2, Void> {
    protected void onPostExecute(Void result) {


Class1のオブジェクト以外にAsyncTaskに渡したいものはコンストラクタで渡す。

2019年1月4日金曜日

ルーティング方式openVPNサーバー上のhttpサーバー:VPNサーバーを介するhttpサーバーアクセスの許可設定

 2019 Apr. 27.
2019 Feb. 02.
2019 Jan. 04.

ルーティング方式では、
/etc/hosts.allow に
httpd: 10.8.0.
を書き込まず、
httpd: MY.LAN.ADDRESS.
を書き込んでおくだけで、openVPNサーバー上のhttpdサーバーに接続できる。