2009年8月13日木曜日

初めてのGoogle Android プログラミング (4)

第6章、コマンドラインからの操作→あんまり今のところ重要じゃないので流し読み。

第7章、 Intent と Phone Dialer
急激にまともな無いように。あれ、この本もしやJava経験者対象?
Listener の実装で匿名クラスを使用されていて、最初???状態。
調べて内容はわかったが、何となく気持ち悪い実装なのでとりあえずOnClickListener を Activity のクラスに implements しといて実装終了。

本当は元クラスの method を扱いたいときとかもあるだろうから匿名クラスが必要になるときもあるのかな。あ、でもこれってキャストしたら使用できたんだっけ?あれ?てか interface の場合元クラスの method なんてあるはずが無いからこの辺好み?

Java Developer Connection(SM) (JDC) テクニカルティップあたりの解説では、 Local クラスと匿名クラスは似たような使い方ができる。ただ、可読性を考えると匿名クラスより Local クラスが優れている場合が多い、とのこと。実装してみた感じではこの考えは同感。今後実装するとしても匿名クラスを積極的には使わないだろうなぁ。

と、こんなことをしていたら続く解説部分の EditText のインスタンス取得関係が不可思議なことに。
仕方がないから onClick() の中で取得しよう……て、あれ?この方が実装として正しくないか?

この本の実装では Listener を設定する前に EditText を取得しているので、onClick() 以外の Listener(もちろん、別のボタン等がある場合) が存在した場合、極端なこと言えば先に操作していれば getText() が入らなくても動くとか???でも逆順に操作されることを考慮したらこの辺毎回値を取得するようにしたいかな。あ、でも毎回取得してたらプログラムの実行速度が遅くなるのか?
ん~、 Java は新入社員研修以来触っていないので、ここんとこ今ひとつわからんなぁ。
まぁ、この章も意図しておいたプログラムができているから良いとするか。

0 件のコメント: