サンプルアプリケーション作成の下準備
さて、必要な前提知識を得たところで、さっそくサンプルのアプリケーションの開発に入っていきます。
本連載では、いろいろな技術要素に触れるために、次のような「名刺管理アプリケーション」を作っていきます。
サンプルアプリケーションの機能概要
- 名刺情報を一覧表示
- 名刺情報の登録、更新
- 名刺の登録情報から地図を表示
- 名刺の登録情報から電話やメールなどの外部アプリケーションを利用
プロジェクトの作成
まずはプロジェクトを作成します。開発環境を整えたEclipseの[File]-[New]-[Other]から[Android]-[Android Project]を選択し、下図のように入力して[Finish]ボタンを押します。前回のデモを動かすときは[Android1.6]にチェックを入れましたが、今回はGoogleマップを使うので[Google APIs]にチェックを入れます。
![プロジェクト作成。[Google APIs]をチェック](http://cz-cdn.shoeisha.jp/static/images/article/4657/project.gif)
プロジェクトの構成を理解する
プロジェクトの雛型が作成できたので、プロジェクトを構成する各ファイルについて見ていきましょう。
AndroidManifest.xml
アプリケーションの構成を定義する最も重要なファイルです。コメントを付与した内容を下記に示するので、目を通しておいてください。今後、アクティビティを追加した場合は、このファイルに定義を追加していくことになります。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="sample.bizcard"
android:versionCode="1"
android:versionName="1.0">
<!-- アプリケーションの定義 -->
<application android:icon="@drawable/icon" android:label="@string/app_name">
<!-- アクティビティの定義 -->
<activity android:name=".ListActivity"
android:label="@string/app_name">
<!-- インテントのフィルタ設定 -->
<intent-filter>
<!-- アクティビティをアプリケーションのメイン(開始画面)に設定 -->
<action android:name="android.intent.action.MAIN" />
<!-- ホーム画面から表示されるランチャーへの表示設定 -->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<!-- SDKの対応バージョン -->
<uses-sdk android:minSdkVersion="4" />
</manifest>
src
ソースファイル用のディレクトリです。こちらは通常のJavaプロジェクトと変わりありません。
res
画像やレイアウトなどアプリケーションで利用するリソースファイルを配置するディレクトリです。リソースを変更するとリソース・インデックスファイル(gen/メインパッケージ/R.java)が生成され、プログラム上からはリソース・インデックスファイルのリソースを参照して利用します。
リソースは、次のように種類ごとで配置するディレクトリが決まっています。
| ディレクトリ | 配置可能なリソース |
|---|---|
| res/anim/ | フレームアニメーションやTweenedアニメーション用のxmlファイル |
| res/drawable/ |
イメージファイル(.png、.9.png、.jpg) ※.9.pngファイルはリサイズ可能なpngファイルで、Android SDKの「tools\draw9patch.bat」から編集ツールを起動できます。 デフォルトでdrawable-hdpi、drawable-ldpi、drawable-mdpiのディレクトリが作成されており、各ディレクトリにイメージを配置する事で解像度によって使用するイメージを切り替える事ができます。また、解像度だけでなく言語等でもイメージの切り替えが可能です。詳細は下記のページを参照ください。
|
| res/layout | レイアウト用xmlファイル |
| res/menu | メニュー用xmlファイル(オプションメニュー、コンテキストメニュー、サブメニュー) |
| res/values |
ソースファイル内の値を利用するようなXMLファイル 任意のファイル名で文字列や配列、スタイルなどを定義できます。また、values-en、values-jaのように言語ごとにディレクトリを作成する事で国際化に対応できます。 |
| res/xml | 任意のxmlファイル |
| res/raw |
任意のファイル 音楽データなど、コンパイルせずにアプリケーションに含めたいファイルを配置します。 |
assets
任意のファイルを置くことができます。しかし、アプリケーションに含めて配布するファイルであれば「res/raw」ディレクトリでも同様の事が可能なため、あまり利用する機会はありません。
gen
プラグインにより自動生成されたリソース・インデックスファイルが出力されるディレクトリです。R.javaを開くと、drawable、layout、stringといったリソースの種類ごとに定数が生成されている事が分かります。

