8章を進める。
どうも匿名クラスを使うのが好きらしく、この作者のコードは匿名クラスのオンパレード。
ってか、たまには Listener の実装別のやつにしてほしい。
書いていて気持ち悪いけど、Javaに詳しくないから修正できない。
どうすりゃいいんだろう?
ともあれ、8章になってやっとアプリらしい外見をしてきた。
機能的にはまだまだだけど、外見さえ何とかなれば後はごり押しでなんとかならんものだろうか?
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 は新入社員研修以来触っていないので、ここんとこ今ひとつわからんなぁ。
まぁ、この章も意図しておいたプログラムができているから良いとするか。
第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 は新入社員研修以来触っていないので、ここんとこ今ひとつわからんなぁ。
まぁ、この章も意図しておいたプログラムができているから良いとするか。
2009年8月12日水曜日
初めてのGoogle Android プログラミング (3)
5章読了。
末尾の挑戦で示されている、複数のビューの表示には LinearLayout クラスを使用。
LinearLayout linearLayout = new LinearLayout(this);
これ、 linear じゃないクラスもあるんだろうなぁ。
また、複数表示するのに久々のJavaだからということで ArrayList も使用。
Iterator とかなつかしー。最近 SAS ばっかり見てたのでこういうまっとうな小物が出て来るとうれしくなる。
末尾の挑戦で示されている、複数のビューの表示には LinearLayout クラスを使用。
LinearLayout linearLayout = new LinearLayout(this);
これ、 linear じゃないクラスもあるんだろうなぁ。
また、複数表示するのに久々のJavaだからということで ArrayList も使用。
Iterator とかなつかしー。最近 SAS ばっかり見てたのでこういうまっとうな小物が出て来るとうれしくなる。
2009年8月11日火曜日
初めてのGoogle Android プログラミング (2)
とりあえずはまったこと。
プロジェクトエクスプローラーを消してしまって、別のプロジェクトを開けない!
windows -> show view -> pacage explorer を選択すると開ける。
んで、このはまりを抜けて5章 Hello! World アプリケーションを続ける。
画像を使ったHello World! の節ではGoogle での画像検索結果(hello world)から画像サイズ小を……って、なんじゃこれ!どーみても18禁じゃないですかいな。
こんなのつかえるか!
もうちょい安全な画像を使用しました。そっか、こんな絵がhello world の検索結果だなんて、Google 社員のhello world は強烈だなぁ……
って、めっちゃ拡大されて表示された。これ、もしかしてこの方法(ImageView クラスを使用)だとサイズ指定できない?
次のページのxmlの方法だとうまくいってるし、なんか大きさ指定の方法がありそうな……
setAdjustViewBoundsかと思ったが違うよう。
setLayoutParams(LayoutParams params)?あ、これくさい……と思うが指定しても失敗。
ImageView のインスタンスに設定しても反映されず。
Android LayoutParamsで検索するとこれについて記述したページが。
JavaDrive さんのHP中に、「レイアウトを指定してビューを設定」というそのものずばりな話が。
記述通り、setContentView(ImageView View, LayoutParams param)として設定してみると……あれ?うまく行くときと行かないときが。
Layoutparams を LayoutParams.FILL_PARENT , LayoutParams.FILL_PARENT
にしたときは画面いっぱいに。
LayoutParams.WRAP_CONTENT , LayoutParams.WRAP_CONTENT
にしたときは小さく。ココまではOK。
ここで、
LayoutParams.FILL_PARENT , LayoutParams.WRAP_CONTENT
にしたら画面中央に小さく。逆にしたら画面上端中央に小さく。なんじゃこれ?
ちなみに、80 , 100と指定した時は……大きく(元画像は50x50 pixel)なってるけど、どう見ても正方形。うーん、Buttonクラスには使用できてもImageView クラスには使えないとか?
不明だが画像が表示できたので今日はここまで。
プロジェクトエクスプローラーを消してしまって、別のプロジェクトを開けない!
windows -> show view -> pacage explorer を選択すると開ける。
んで、このはまりを抜けて5章 Hello! World アプリケーションを続ける。
画像を使ったHello World! の節ではGoogle での画像検索結果(hello world)から画像サイズ小を……って、なんじゃこれ!どーみても18禁じゃないですかいな。
こんなのつかえるか!
もうちょい安全な画像を使用しました。そっか、こんな絵がhello world の検索結果だなんて、Google 社員のhello world は強烈だなぁ……
って、めっちゃ拡大されて表示された。これ、もしかしてこの方法(ImageView クラスを使用)だとサイズ指定できない?
次のページのxmlの方法だとうまくいってるし、なんか大きさ指定の方法がありそうな……
setAdjustViewBoundsかと思ったが違うよう。
setLayoutParams(LayoutParams params)?あ、これくさい……と思うが指定しても失敗。
ImageView のインスタンスに設定しても反映されず。
Android LayoutParamsで検索するとこれについて記述したページが。
JavaDrive さんのHP中に、「レイアウトを指定してビューを設定」というそのものずばりな話が。
記述通り、setContentView(ImageView View, LayoutParams param)として設定してみると……あれ?うまく行くときと行かないときが。
Layoutparams を LayoutParams.FILL_PARENT , LayoutParams.FILL_PARENT
にしたときは画面いっぱいに。
LayoutParams.WRAP_CONTENT , LayoutParams.WRAP_CONTENT
にしたときは小さく。ココまではOK。
ここで、
LayoutParams.FILL_PARENT , LayoutParams.WRAP_CONTENT
にしたら画面中央に小さく。逆にしたら画面上端中央に小さく。なんじゃこれ?
ちなみに、80 , 100と指定した時は……大きく(元画像は50x50 pixel)なってるけど、どう見ても正方形。うーん、Buttonクラスには使用できてもImageView クラスには使えないとか?
不明だが画像が表示できたので今日はここまで。
初めてのGoogle Android プログラミング (1)
お盆休みの間、せっかくまとまった時間がとれるのでお勉強をしよう!
ということで、この本を使ってAndroid Programmingをやってみることにしました。
目標はこの本の内容を完了させる+余裕があれば アプリの作成(smart.fm 用。ログインした後、……どうしよ?日記ぐらい書けると良いなぁ)
という訳で、まずはEclipseのインストール。
その後、JavaSDKのインストール。1.5をインストールしているように指示しているのを見逃して1.6をインストール。大丈夫か?
登録:
投稿 (Atom)