Android UI プログラミングメモ(3) - ボタンを3コ置く。(`・ω(`・ω・´)ω・´)

Eclipseのレイアウトエディタを使ったAndroid UIプログラミング(3)
ボタンを3コ置く。(`・ω(`・ω・´)ω・´)
3つに増やして処理を分けてみる

ざっくり概要

@この記事内でやってみること

  1.  1)画像ボタンを3コ置く

  2.  2)ボタンごとに別々の処理をおこなう

  3.  3)IDをわかりやすい名前に変えておく

これだけ!
※本記事は「ボタンを1コ置く。(`・ω・´)」の続きです。

そちらの記事ではレイアウトエディタを使ったボタンの作成について基本的なことを書いていますのでそちらも参考にすると良いでしょう。


開発環境(参考までに)
OSWindows7 Ultimate 64bit(Android開発中はBootCamp)
マシンiMac 2010 Mid Core i5 760@2.80GHz Mem=12GB(Win6GB,Mac6GB)
HDD1TB(Win545GB,Mac299GB) SSDが欲しいです!
Android SDKAndroid 4.2.2(API17) / Android SDK Tools 21.1
Android シミュレータAndroid 2.3.3(API10) ARM / Android 4.2.2(API17) Intel Atom x86 Use Host GPU
Android 私物Xperia arc (S0-01C)内蔵メモリが少なすぎるダメっコ
EclipseEclipse Java EE IDE Version 4.2 Juno Release (Pleiades All in One)
JavaJ2SE 1.6.0_25 64bit
WEBサーバーApache 2.2.21 32bit
PHPPHP 5.3.8 32bit
DBサーバーMySQL 5.5.17 64bit インストーラ版
DB管理ツールphpMyAdmin 3.4.8 コメント改造済み
PHP開発プラグインPHPEclipse 1.2.3xDebug
ガンダム初代,Z,ZZ,0083,08小隊,逆襲,F91,V,W,X,∀,SEED,DESTINY,00



以下、くわしく



1)画像ボタンを3コ置く
  1. ボタンの画像をテキトーに描く。ラクガキ

  2. ボタンを1コ置く。(`・ω・´)」同様ImageButtonをペシペシ置く。

  3. 置いたらそれぞれのOn ClickにdoActionを書いておく。
  4. エミュレータで実行してみると、どのボタンを押してもdoHaction!と表示される。


2)ボタンごとに別々の処理をおこなう
「OH!これだと全部同じ処理になっちまうよ!」



「大丈夫さ!ボタンにはそれぞれIDが付いているからね!それで処理を分けると良いよ!」



・・・こういうアメリカンドラマな小芝居が永遠と続くjavaの解説書を以前持っていた。。。(・ω・)



気をとりなおして、



  1. IDの取得はView.getId()でできるので、リソースのIDを調べてみる
  2. 通常はgenフォルダの中にR.javaとして自動生成されてる。

    ↓こんな感じ。

        public static final int imageButton1=0x7f080000;
        public static final int imageButton2=0x7f080001;
        public static final int imageButton3=0x7f080002;



  3. どれだかわかんないけどとりあえず分岐して別々の処理を書いてみる
  4. switch (view1.getId()) {
    case R.id.imageButton1:
        System.out.println("わん!");
        break;
    case R.id.imageButton2:
        System.out.println("っつぅ!!");
        break;
    case R.id.imageButton3:
        System.out.println("あ、わんつうすりぃふぉー!");
        break;
    }



  5. 出力結果↓
  6. 04-02 11:02:58.947: I/System.out(375): わん!
    04-02 11:03:06.357: I/System.out(375): っつぅ!!
    04-02 11:03:13.938: I/System.out(375): あ、わんつうすりぃふぉー!

  7. なぜswitchで分岐するのか

  8. ボタンごとにメソッド(関数)をわけてもいいんだけど、それぞれに書くと細かく分けすぎてわけわかんなくなるのでIDで分岐させるのが好きです。

    ボタン押された時に共通の処理を行わせたい時にもこっちの方が便利


3)IDをわかりやすい名前に変えておく
imageButton1、imageButton2、imageButton3のままだとわかりにくいので変えておきます。

  1. 各ボタンのPropertiesのIdを変更して名前を変更
  2. 変更すると以下のメッセージが表示される

    Update all references as well? This will update all XML references and Java R field references.

    XMLのId変えたからJavaの名前も変えて良いか?ってことなのでとりあえず「はい」



  3. ビルドし直して一応動作だけ確認しておく



以上!

ボタン3コ置けました!(`・ω(`・ω・´)ω・´)


参考書籍
  • EclipseではじめるAndroidプログラミング入門―SDK2.3/4.2対応EclipseではじめるAndroidプログラミング入門―SDK2.3/4.2対応
    掌田 津耶乃

    秀和システム
    売り上げランキング : 176104

    Amazonで詳しく見る

    やすはるラボ(`・ω・´)も参考にしています!
    本屋さんで、レイアウトエディタを使用したAndroidのUIプログラミングについて詳しく
    書いてある書籍を2〜3時間探した結果、最も良いと思った書籍です。
    iOSのInterface Builderと比べるとレイアウトエディタは歴史が浅く、洗練度もGoogleの本気度も
    まだまだなのでできる限り最新のものを探しましたが、この書籍が最も新しく、
    かつ初心者向けにやさしく書かれておりました。オススメです!(`・ω・´)




つづきを読みたい!と思う方はコチラをぽちっと↓

ブログランキング・にほんブログ村へ
にほんブログ村
 

人気ブログランキング
押して頂けると嫁(*・ω・)のブログモチベーションも上がります(*´Д`*)