「Preview」ということですが.


とりあえずは動く.
「Preview」ということですが.


とりあえずは動く.
いろんな実装が可能なのですが.
public class ItemsAdapter extends RecyclerView.Adapter<ItemsAdapter.ViewHolder> {
// ...
private static ItemsAdapter.OnItemClickListener listener;
public void setOnItemClickListener(ItemsAdapter.OnItemClickListener listener) {
ItemsAdapter.listener = listener;
}
public interface OnItemClickListener {
void onItemClick(View view, int position);
}
// ...
public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
public ViewHolder(final View itemView) {
super(itemView);
name = (TextView) itemView.findViewById(R.id.name);
age = (TextView) itemView.findViewById(R.id.age);
button = (Button) itemView.findViewById(R.id.button);
name.setOnClickListener(this);
age.setOnClickListener(this);
button.setOnClickListener(this)
}
@Override
public void onClick(View v) {
if (listener != null) {
listener.onItemClick(v, getLayoutPosition());
}
}
}
}
UI.
public class MainFragment extends Fragment
implements ItemsAdapter.OnItemClickListener {
// ...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// ...
mAdapter.setOnItemClickListener(this);
}
@Override
public void onItemClick(View view, int position) {
switch (view.getId()) {
case R.id.name:
// ...
break;
// ...
}
// ...
}
ここらなんだろうな.
外からでなく端末内からみる.

anmap - Google Project Hosting
端末内にて.
$ tar xvf nmap-5.51-1.tar tar: invalid tar magic
ん?
$ md5 nmap-5.51-1.tar ed692f7ea2e217ca71ae1103f5bf3819 nmap-5.51-1.tar $ ls -al $(which tar) lrwxr-xr-x root shell 2015-10-07 13:51 tar -> busybox $ busybox BusyBox v1.22.1 bionic (2015-10-06 21:51 -0700) multi-call binary. …
新しいものに変える.

BusyBox - Google Play の Android アプリ
$ busybox BusyBox v1.24.1-Stericson (2015-11-06 19:11:24 EST) multi-call binary. … $ tar xvf nmap-5.51-1.tar nmap nmap-os-db nmap-payloads nmap-protocols nmap-rpc nmap-service-probes nmap-services $ ./nmap /system/bin/sh: ./nmap: can't execute: Permission denied $ su # chmod +x nmap Bad mode # chmod 777 nmap # ./nmap sh: ./nmap: can't execute: Permission denied
ん?
# ls -al nmap -rw-rw---- root sdcard_r 1907224 2015-11-14 07:45 nmap # cp nmap* /data/local/tmp # cd /data/local/tmp # ls nmap nmap-5.51-1.tar nmap-os-db nmap-payloads nmap-protocols nmap-rpc nmap-service-probes nmap-services # chmod 777 nmap # ls -al nmap -rwxrwxrwx root root 1907224 2015-11-14 07:48 nmap # ./nmap 127.0.0.1 Starting Nmap 5.51 ( http://nmap.org ) at 2015-11-13 22:53 UTC Nmap scan report for localhost (127.0.0.1) Host is up (0.00011s latency). All 1000 scanned ports on localhost (127.0.0.1) are closed Nmap done: 1 IP address (1 host up) scanned in 0.64 seconds
ネットワークADB向けをあける.

# ./nmap 127.0.0.1 Starting Nmap 5.51 ( http://nmap.org ) at 2015-11-13 22:56 UTC Nmap scan report for localhost (127.0.0.1) Host is up (0.00012s latency). Not shown: 999 closed ports PORT STATE SERVICE 5555/tcp open freeciv Nmap done: 1 IP address (1 host up) scanned in 0.57 seconds
現在配布中です.
日本では, 映画1本とNetflixの1ヶ月無料が特典のようです.


あれ, テレビをONにして再度.


パソコンのブラウザChromeからでないと無理なのかも.
いつもありがとうございます.
再利用されない粒度の細かいメソッドは必要なのか.
- 長過ぎるメソッド
- コメントがなければ目的が分からないメソッド
以下のサンプル.
void printOwing(double amount) {
printBanner();
System.out.println(“name:” + _name);
System.out.println(“amount:” + amount);
}
をこうする.
void printOwing(double amount) {
printBanner();
printDetails(amount);
}
void printDetails(double amount) {
System.out.println(“name:” + _name);
System.out.println(“amount:” + amount);
}
うまく命名された細かいコードが好ましい理由
- 他のメソッドから使える可能性が増える
- 上位のメソッドがコメントのように読める
- オーバーライドしやすい
その他
- 良い名前がつけられないと有効ではない
- 抽出されるコードよりメソッド名が長くてもよい
- 大きなメソッドに慣れていると慣れるまで時間がかかる
「明快さが向上するならそうすれば良い」
シンプルなサンプルコードに対してやけに気にかかる言葉が連続する.
以下から抜粋.