2018年2月18日日曜日

google drive内ファイルのアカウント間移動

google drive内ファイルのアカウント間移動

2018 Feb. 18.

(1)移動元アカウントにて
 ア.当該ファイルをアカウント先と共有にする。
 イ.当該ファイルの共有設定でそのファイルのオーナーを共有先アカウントに変更する。
   「共有 > 詳細設定」

(2)移動元アカウントにて
 移動元のアカウントを共有相手から削除。 「共有 > 詳細設定」

2018年2月11日日曜日

android開発 Messenger bindServiceの実行ポイント

android開発 Messenger bindServiceの実行ポイント

2018 Feb. 11.

bindServiceはActivityのonCreateコールバックの中で実行する。

例えば、ButtonのonClickコールバックの中で
bindService()してMessenger#send()
するとバインドに失敗する。


2018年1月21日日曜日

android AlertDialog内にinflateしたLayout内のViewへのアクセス

android AlertDialog内にinflateしたLayout内のViewへのアクセス

2018 Jan. 21.

Viewへのアスセスにはそれが所属するLayoutを指定する。


LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View myLayout = inflater.inflate(R.layout.my_layout, null);
TextView myTextView = (TextView)myLayout.findViewById(R.id.my_text_view);
myTextView.setText("Hello.");

android inflate先のレイアウトのないinflate

android inflate先レイアウトのないinflate

2018 Jan. 21.


サンプル1

LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View myView = inflater.inflate(R.layout.my_view, null);
setContentView(myView);


サンプル2

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btn = (Button)findViewById(R.id.button);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
                View titleView = inflater.inflate(R.layout.title_of_alert, null);
                builder.setCustomTitle(titleView);
                View descriptionView = inflater.inflate(R.layout.view_of_alert, null);
                builder.setView(descriptionView) ;
                builder.setPositiveButton("OK",
                    new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Log.v("ok","Hi");
                        }
                    });
                AlertDialog dialog = builder.create();
                dialog.show();

            }
        });
    }
}

android Contextの取得

android Contextの取得

2018 Jan. 21.

HogeActivityのContextの取得

 AlertDialog.Builder(Context)でのContextの取得

  new AlertDialog.Builder(HogeActivity.this);

     getApplicationContext()ではエラーとなる。

2018年1月20日土曜日

SSH known_hostsファイル関連で Connection refused

2018 Sep. 01.

2018 Jan. 20.

$ ssh-keygen -R SERVER-ADDRESS
を実行する。
SERVER-ADDRESSはホスト名ではなくIPアドレスを指定する。
-R hostname
  Removes all keys belonging to hostname from a known_hosts file.
  This option is useful to delete hashed hosts (see the -H option
  above).

ルーター baffalo WHR-AMPG

ルーター baffalo WHR-AMPG

2018 Jan. 20.

ブリッジモード
 初期状態
  本体アドレス 192.168.11.100 あるいは 192.168.11.2
  サブネットマスク:255.255.255.0
  DNS:192.168.11.100

 LAN設定でLAN側IPアドレスを「DHCPサーバからIPアドレスを自動取得」にすると
 管理画面を表示する本体アドレスはDHCPサーバから配布を受ける先頭アドレスとなる。