Tips

Android HelloWorldプログラムについて 【Android TIPS】

Android HelloWorldプログラムについて 【Android TIPS】

前回までに、Android開発環境の構築とHelloWorldプログラムの作成・実行が終わっているかと思います。

今回はそのHelloWorldプログラムの概要を押さえていきます。

プロジェクト・エクスプローラーに表示されているHelloWorldを展開します。

図13図14

1. srcフォルダ

このフォルダはjavaプログラムを配置するためのフォルダです。

HelloWorldプログラムではcom.example.helloworldパッケージが格納されており、
さらにその中にはMainActivity.javaが配置されています。(このパッケージはプロジェクト作成時に指定したものですね。)

MainActivityクラスはHelloWorldアプリケーションの画面を表すクラスで、
Androidアプリケーションでは画面のことをアクティビティと呼ぶためにこのようなクラス名となっています。

2. genフォルダ

このフォルダはADTによって自動生成されたjavaプログラムが配置されるフォルダです。

生成元となるのは、この後に説明するresフォルダ以下に配置されているリソースファイルとなります。

自動生成されるため、中を見たり修正したりということは基本的に必要ありません。

3. Android 2.1、Android Dependencies

リンクされているライブラリです。

4. assetsフォルダ

このフォルダはアプリケーション固有のファイル(XMLや画像など)を配置するフォルダです。

このフォルダ内のファイルへはjavaプログラム内から直接アクセスすることが可能です。

5. binフォルダ

このフォルダはAndroidアプリケーションパッケージ(APK)を作成するために必要なクラスファイルや各種リソースファイルが配置されるフォルダです。

ADTによって自動的に生成されるため、中を見たり修正したりということは基本的に必要ありません。

6. libsフォルダ

このフォルダはプロジェクトにリンクさせるjava外部ライブラリ(jarファイル)を配置するためのフォルダです。

Androidの場合は、java開発時のようにビルドパス等の設定は不要で、jarファイルをlibsフォルダ以下に配置するだけで自動的にリンクしてくれます。

7. resフォルダ

このフォルダは各種リソースファイルを配置するフォルダで、中にはdrawable-xxxx、layout、menu、values等のサブフォルダがあります。

Androidでリソースファイルというときは、画像や音声等のバイナリファイルもしくはXMLファイルのことを指します。

サブフォルダ 格納されるファイル
drawable-xxxx アイコン等の画像バイナリファイル
xxxxにはhdpi(解像度の高い端末用)やmdpi(解像度が中程度の端末用)等が当てはまり、プログラム側での対応を最小限に、解像度の異なるAndroid端末に対応させることができる。
layout 画面レイアウトを定義するXMLファイル
menu メニューボタンを押下したときに表示されるメニューを定義するXMLファイル
values 文字列を定義するためのXMLファイル

HelloWorldプログラムを作成した際に生成されるのは上記4種類のみですが、他にも汎用的なXMLファイルを配置するxmlフォルダや音声ファイルを配置するためのrawフォルダ等があります。

XMLやバイナリファイルは前述した「4. assets」フォルダにも配置することができますが、使い分けるポイントとなるのは以下の2点のようです。

  • 実行環境によって異なるファイルを使いたい場合は、resフォルダを使う

解像度の異なる端末へ対応したり、多言語対応(アプリケーションを英語&日本語に対応)する場合にはresフォルダを使います。これは、javaプログラム側での対応を最小限にして、Android側で自動的にリソースファイルを切り替える仕組みです。

この機能を利用するために、コンパイル時にresフォルダ以下にR.javaというリソースインデックスファイルが作成されます。javaプログラムからresフォルダ以下にアクセスしたい場合は、このRクラスを参照することによって間接的にアクセスする仕組みになっています。

図15

コンパイル時に確定しているリソースファイルしかこの機能を使用できないため、javaプログラムからファイルに修正を加えたりといったことはできないことになります。

  • javaプログラムから保存や修正を行いたい場合は、assetsフォルダを使う

データの保存先として利用する場合にはこのassetsフォルダを使うことが適しています。

8. AndroidManifest.xml

Androidアプリケーション全体の設計図に相当するXMLファイルで、アプリケーション名やSDKバージョン、どのような機能を使っているか(インターネットアクセスやカメラ機能など)等の情報が書き込まれています。

今回は、HelloWorldプログラムの概要を押さえました。

特に重要な点は、genフォルダ、resフォルダ、AndroidManifest.xmlで、AndroidManifest.xmlについてはあまり触れませんでしたが近いうちに特集を組みたいと思っています。

次回はresフォルダ内のstring.xmlの修正を通して、リソースファイルがどのように使われているのかを実践したいと思います。

JAVA Android初心者パックコース

Androidアプリ開発の必須知識!JAVAプログラミングを学べる連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search