|
■Eclipse(2011/11/03) Androidのプログラム開発を調査するため、統合開発環境「Eclipse」を導入してみた。齢52の初老の筆者にとって、クラスベースのプログラミング言語であるJavaを今更使うこと自体、無理だということは百も承知の上だ。あと25年若かったらなぁ、とは思うが、まあジジイとは言えこれから主流の言語のサワリをいじってみるのも悪くは無いだろう。ボケ防止ってヤツだね。 筆者が入社した頃は、アセンブラしか無かった。それはもう、見事な程のアセンブラ時代だった。8ビットシングルチップのアプリケーションソフト開発に携わったことがあるが、オールアセンブラがデフォだった。アセンブラはプログラムの見通しが良いことと、ハードウェアに直結しているので多少の無理ができる所が魅力だ。Cで開発できるようになっても、インラインアセンブラを良く使った。 それから20数年経過した今、オブジェクト指向のプログラミングは筆者のような人間にとっては魑魅魍魎の世界で、正直さっぱりワカラン。そこで、吉祥寺のジュンク堂書店へひとっ走り行ってきて、ハウツウ本を買ってくる。インプレス発行の「Androidプログラミング」というやつ。書店のPC関連書籍売り場には、この手の本がゴマンと並べてあるが、発行年月が新しかったことと、価格が比較的安かったのが選択ポイントとなった。 さっそく定番の統合開発環境「Eclipse INDIGO」をダウンロードする。ここで「Eclipse IDE for Java Developers」の32ビット版をダウンする。Eclipse自体Javaで組まれており、動作が相当重いので、できれば最速CPU上の64ビットOSで動かしたいところなのだが、如何せん貧乏な筆者には環境が無いのだよ。。。ダウンしたらインスコするだけでおK。 EclipseにはPleiadesという日本語化パッチがあるので、それも当てておく。ここにアクセスし、ちょっと判りにくいが、下の方にある「安定版」の「1.3.3」をクリックしてZIPを落とす。バージョンは現状のものなので念のため。 他に必要なツールは、Java開発キットのJDKとAndroid-sdkである。これらについては既にインストール済みだったので、今回はパス。
開発環境が整ったところで、お約束の「Hello,World」の時間だ。とりあえず開発環境の動作に慣れるべく、Androidの画面上に文字列を表示させるという、一番簡単なプログラムを作ってみる。以下、カンタンにその手順を示した。 |
Eclipseの「ようこそ」画面 最初にEclipseを起動すると、この画面が出てくる。実際の開発作業に移るため、右端中央にあるアイコンをクリックし「ワークスベンチ」画面に入ろう。 →高解像度JPEG |
ワークベンチ画面 初期状態のワークベンチ画面。左側にパッケージ・エクスプローラ、右側にアウトライン、下部にコンソールといったウインドウ配置が基本となる。 →高解像度JPEG |
プロジェクト新規作成ウイザードの起動 メニューバーの「ファイル」→「新規」→「その他」で、プロジェクト新規作成ウイザードを起動させる。ここで「Android」の「Androidプロジェクト」を選択。 |
プロジェクト新規作成ウイザードの設定 #1 「Text」というプロジェクト名称を作成してみた。プロジェクト名称にはスペースを入れないことがお約束だそうだ。 |
プロジェクト新規作成ウイザードの設定 #2 ビルド・ターゲットを指定する。この辺が、開発途上OSらしいね。とりあえず、現状で一般的な2.2を指定しておく。ビルドを上げればAPIレベルも上がり、使用可能なAPIの数も増える。 |
プロジェクト新規作成ウイザードの設定 #3 プロジェクトのアプリケーション情報を設定する。アプリケーション名は既に設定してあるので、パッケージ名を指定するところから始まる。パッケージ名の指定はAndroidプログラムでは必須。通例として、ドメイン名を逆さまに表記したものに、アプリケーション名の文字列を追加する。これはマーケットで公開する際、パッケージ名称が一意的に指定できるための仕様だそうだ。幸い「funkygoods.com」というドメインを持っているので、これを用いたが、ドメインが無い場合には適当な文字列をドメイン名として良い。これで、新規プロジェクト作成作業は終了。 |
プロジェクトが生成されたワークベンチ 新規のプロジェクトが出来たところ。「Text」というプロジェクトの配下に、目がクラクラするくらい沢山のファイルが「自動生成」されている。こりゃ、初めてのユーザには理解不能だわ・・・各階層とフォルダ内のファイルについては、やっていくうちに意味が判ってくる。正に「習うより慣れろ」の世界だ。ところで、この段階でもう、「Hello,World」に相当する機能のプログラムが出来上がってしまっている。そう、EclipseによるAndroidプログラム開発では、な〜んにもしなくても、新規プロジェクトを作成するだけで、所期の目的を達成してしまうのだ。何ともお気楽ではないか! →高解像度JPEG |
Androidエミュレータの起動 すぐに仮想マシンで動作を確認しても良いのだが、事前にAndroidエミュレータを起動させておく。メニューの「ウインドウ」→「AVDマネージャの起動」を選択する。すると、お馴染みのAVDマネージャのメニュー画面が出るので、今回作成したプロジェクトと同一APIレベルの仮想マシンをスタートさせておく。 →高解像度JPEG |
AndroidエミュレータのLaunch Options 1024x768の画面で動作させる場合には、8インチを選択しておくと、仮想マシンの表示がちょうど画面に収まる。「Launch from snapshot」を選択しておくと、起動時間が短くて済むが、メモリが足りない場合には色々とトラブルが発生するので、少々時間がかかっても外しておくのが無難。なお、リッチなリソースのマシンでは、この限りにあらず。 |
エミュレータのホーム画面 遅いマシンだと、Eclipseを起動させた上で仮想マシンを動かすと、気の遠くなるような時間がかかる。ここはじっとガマンで待つしか無い。リッチなマシンだと、もう少し高速化されるハズだが、全てJavaで作られてるから、まあ、そこそこ重いのはしゃーないねぇ。。。仮想マシンが起動した際、ロックがかかっていた場合には、マウスでスライドさせて解除させておくこと。 →高解像度JPEG |
Eclipseでプログラムを実行 Androidエミュレータが無事起動したら、Eclipseのワークベンチに戻り、メニューから「実行」→「実行」をクリックする。すると、「次を実行」ウインドウが表示されるので、「Androidアプリケーション」を選択して「OK」をクリックする。なお、メニューから「実行」→「Androidアプリケーション」と選択しても良い。 |
プログラム実行時のワークベンチ プログラムを実行させると、ワークベンチのコンソールウインドウにズラズラとステータスが表示される。すでにAndroidoエミュレータが起動している場合には、それほど時間を取らずに「成功!」という文字が出てくるハズだ。これでエミュレータ上のプログラム実行はオシマイ。やっていることは、「Text.apk」というAndroidアプリケーションを、仮想マシン上にインストールして実行させていることと同じである。 →高解像度JPEG |
プログラム実行画面 Androidエミュレータに画面を切り替えると、「Text.apk」の実行結果が表示される。新規プロジェクトを自動生成するだけで、「Text」というアクティビティが生成され、画面上に「Hello World,TextActivity!」という文字列が表示されるので、まあ、何というか脱力系である。ここまでの作業において、テキストエディタを使って一行もプログラムは書いて無い!!何気にスゴイな、コイツ・・・ →高解像度JPEG |
とりあえず、エミュレータ上での文字表示については判った。しかし、いくらなんでもこれだけでは情けない。せめて表示する文字列くらいはカスタマイズしなくては、オハナシにならんだろう。というわけで、ちょこっと手を加えることにする。 先ず、Androidアプリの画面表示であるActivityについて、ソースを開いてみる。今回は「Text」というプロジェクトを自動生成したので、パッケージ・エクスプローラの「Text」→「src」→「com.funkygoods.text」→「TextActivity.java」をダブルクリックすれば良い。中身を見ると、「layout」リソースの「main.xml」から構成されていることが判る。 そこで今度は、「res」→「layout」→「main.xml」を辿って開いてみよう。すると、表示される文字列は「strings.xml」リソースを呼び出していることが判明する。(TextViewのandroid:textのトコロね。) で、「values」→「strings.xml」を見ると、「string name」が二つ定義されている。上段は画面に表示される文字列なので、ここを自由に書き換えれば、任意の文字を表示させることができる。下段はタイトルバーに表示される文字列を定義し、アプリケーションリソースとして「app_name」で設定されている。
かように、Androidのリソースファイルは複雑を極め、慣れないと全く全然少しもワカラナイ。でも一旦理解すれば、こーゆーものだと使うことはできる。 |
アクティビティのソース表示 今回は「Text」というプロジェクトを作成したので、そのアクティビティは「TextActivity.java」として記述される。中を見ると、レイアウトリソースとして、「main」を定義していることが判るので、今度は「layout」→「main.xml」を参照してみよう。 →高解像度JPEG |
main.xmlの中身 「layout」は、その名の通りアクティビティの画面レイアウトを定義するファイルで、「main.xml」で記述されている。中身を見ると、文字列の定義ファイル「strings」を参照していることが判る。 →高解像度JPEG |
strings.xmlの中身 そこで今度は「value」→「strings.xml」を覗いてみる。「hellp」というstring nameには、画面に表示する文字列が、「app_name」というstring nameには、アプリケーションタイトルが定義されている。そこで、「hello」の文字列を任意の文字に変更すれば、画面に表示される文字も変わる。ここでは例文として、故大平正芳首相が「政治とは?」と問われて答えた名句「明日枯れる花にも水をやる心」を表示させてみよう。 →高解像度JPEG |
ストリング・リソースの定義方法 strings.xmlを変更しても良いが、「リソース」タブで変更したいStringリソースをクリックし、「Name」と「Value」のテキストボックスに記述するといった方法も取れる。 →高解像度JPEG |
エミュレータでの実行結果 以上の処理を行い、エミュレータで結果を確認してみよう。確かに「Text」というアプリケーション名で、指定した文字列が表示されているのが判る。ほんのちょっとしたカスタマイズで、一応Androidのリソースファイルの位置関係が何となく判ってくるというものだ。 →高解像度JPEG |
ところで、Microsoft Visual Studioを使っていると、レイアウトにGUIを使いたくなってくるものだ。Androidでも同様のことができる。例えば「main.xml」を選択した状態で「Graphical Layout」のタブを選択すると、実際に表示される画面が現れ、その左側にボタンだのチェックボックスだのといったツール類が表示される。これらをドラッグ&ドロップすれば、カンタンにボタン遷移のプログラムを組むことができる・・・
と言いたいところだが、実際にはVisual Studioに比べると、手続きが煩雑極まりなくなる。これは次回以降のお勉強にしよう。ここまでのことは、半日程度有れば習得できる。プログラムの基本中の基本だが、一応どんなものなのか、雰囲気程度は判った。しかし、統合開発環境と称していても、Microsoftに比較すればワヤクチャな状況であることは否めない。これはオープンソースの悪いトコロでもある。やってみると判るのだが、屋上屋を重ねて出来上がってきたような感じすら受ける。今後はもっと洗練されて行くものと思われるが、これじゃあ敷居が高いと言わざるを得ないねぇ。。。ボケ始めた初老のオヤジには荷が重いわ。 |
GUIを使ったmain.xmlの編集 「main.xml」を開いた状態で、下の「Graphical Layout」のタブを選択すると、GUIによるレイアウト編集が可能となる。ここでは例として「ボタン」をドラッグ&ドロップしてみた。その後の遷移処理については、少々複雑になるので、今回は割愛。 →高解像度JPEG |
Copyright (C) Studio Pooh & Catty 1996-2011 |