Androidのアプリケーション開発環境
JavaソースコードとXMLファイル
HelloProjectでは、XMLファイルを編集して、表示する文字列を変更しました。このように、Androidのアプリケーション開発は、JavaといくつかのXMLファイルで行います。図3-1は主要なJavaソースコードとXMLファイルの関係を示しています。
AndroidManifest.xmlにはアプリケーションの名前やアイコン、最初に起動するActivityなどを指定します。
HelloActivity.javaがプログラム本体です。1つのアプリケーションは複数のActivityを持つことができ、それぞれのActivityは複数のViewを持つことができます。
R.javaは画面のレイアウトや文字列などのリソースをJavaコードから参照できるようにするIDが記述されます。Eclipseで開発する場合は、IDは自動的に生成されるので、このファイルを編集する必要はありません。
main.xmlは表示する画面のレイアウトを記述します。レイアウトを編集するツールは、はっきり言ってとても貧弱です。そこで、DroidDraw(http://www.droiddraw.org/)のようなツールを使う開発者も多いようです。
strings.xmlは文字列を記述します。多国語をサポートするアプリケーションを開発する場合は、このXMLファイルを言語ごとに用意します。
Androidのデバッグ環境
Androidのデバッグ環境はEclipseに統合されています。メニューの[Window] - [Open Perspective] - [Debug]を選択し、パースペクティブをデバッグに切り替えると、図3-2のようにデバッグ画面になります。
ここで、ブレークポイントをしかけたり、スレッドの情報表示や、オブジェクトのダンプなどができます。
一番下のLogCatというウィンドウに、デバッグログが表示されています。プログラムからここにログを出力するには、次のAPIを使用します。
---------------------------------------------------
Log.v("ログ用のタグ", "出力するメッセージ");
---------------------------------------------------
このほかに、DDMS(Dalvik Debug Monitor System)というデバッグツールがあります。システム全体のメモリ使用量や、アプリケーションのメモリトラッキングができます。図3-3右上の円グラフはメモリ消費量です。DDMSは、Android SDKをインストールしたディレクトリのtoolsディレクトリにあります。
もう1つデバッグツールを紹介します。コマンドラインからデバッグを行う、adbコマンドです。これもAndroid SDKのtoolsディレクトリにあります。
adbコマンドは図3-4のように、ログの表示やアプリケーションのインストールを行うことができます。adb shellはLinuxのコマンドプロンプトです。使用できるコマンドは少ないですが、lsやpsといった使い慣れたコマンドが発行できます。
G1やAndroidを移植したZaurusやOMAP3EVM(http://thinkit.jp/article/905/3/)でも、同じようにデバッグできます。Androidが組み込み開発向きである理由の1つです。このようなリモートデバッグ環境が整備されているフレームワークは珍しいと言えます。リモートデバッグは、環境変数ADBHOSTにIPアドレスを設定して、adbサーバーを再起動して行います。
次回は、(株)ブリリアントサービスの杉本さんにバトンタッチし、より実践的なアプリケーション開発をご紹介いただきます。