本稿のゴール
eclipseでアンドロイドプロジェクトを作成して、初期状態のプログラム解説とかできれば…
新規プロジェクトの作成
ファイル > 新規 > その他 より Android プロジェクトを選択

設定する値はだいたいこんな感じで。eclipseのバージョンによって違うことってあるのかな?
| 項目名 | 値 | 説明 |
|---|---|---|
| プロジェクト名 | HelloAndroid | 最初はやっぱりHelloXXXでしょう! |
| ビルドターゲット | Android 2.1 | これ以上の端末が殆どなので、2.1をベースにします |
| アプリケーション名 | HelloAndroid | プロジェクト名に合わせましょう |
| パッケージ名 | jp.olive.android.hello |
自分のドメインを持っている人は逆から書けばそれがJavaのパッケージとなります。 もってなければ com.localdomain.android.hello とかでいいんじゃん |
| Create Activity | MainActivity | とりあえず基本となるクラスなので |
んで、完了押せばプロジェクトができる。
解説のコーナー
プロジェクト作成時に生成されたそれぞれのソースについて、わかる限り解説します。
それでも足りなかったらググッてください。
src/jp/olive/android/hello/MainActivity.java
アプリ起動時に最初に呼ばれるクラス(設定により変更可)。
[java]
package jp.olive.android.hello;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
[/java]
onCreate(Bundle savedInstanceState)
onCreateつうのはこのActivityが呼び出されたときに一番最初に呼ばれる関数だな。
ここで、どのレイアウトを使うだとか、画面上にボタンがある場合はリスナーの登録を行ったりとかする。
他にもonPause(他のアプリの割り込み時に呼ばれる処理)やonDestory(アプリの終了時)といった関数がある。
ここの図をよく見て、なんとなくでいいので把握しておこう。
setContentView(R.layout.main)
これはMainActvityでどの画面を使うかの設定。res/layout/main.xmlで定義したレイアウトを適用するという意味。
res/layout/main.xml
画面レイアウトの定義を記述しているファイルでつ。
[xml]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
</LinearLayout>
[/xml]
LinerLayoutの中にTextViewtってのがあるのが分かりますね。基本的にはLayoutの中にLayoutかViewを入れ子にしていって画面を作成します。
まぁ、eclipseでアプリ開発してるなら、GUIを使ったレイアウト作成も手ですね。GUIでだいたいのレイアウトを作成して、細かいところをxmlで詰めてく感じです。

LinearLayout
一直線に並べるレイアウト。一番基本的なやつです。これを入れ子にしていけばだいたいの画面はつくることが出来ます。
これとTableLayoutとか覚えておけば全然オッケー
TextView
文字を表示する領域表示するテキストはandroid:textってとこにベタで書いても、@string/helloのような文字列リソース(後述)でも設定できる。
res/values/strings.xml
文字列リソースを定義しておく場所。殆どの場合ベタで書いても動くのだが、文字定数などはなるべくこちらで定義しておきたい。ここで定義した文字列は@string/hogeという形でアプリ内で呼び出すことができるようになる。
また、アプリを国際化する際、 res/values-ja/strings.xmlとかres/values-en/strings.xml とか言語別に用意しておくだけで、勝手に地域対応してくれるって寸法さ。
AndroidManifest.xml
これが最後にして最大の肝ファイルである。

アプリの中でActivity(クラス)がどのような挙動をするかを定義するファイルです。
Manifestなしにアプリは動かんのですよ!!
画面左下にある Application Nodes これがとっても重要!
.MainActivity
このアプリにはMainActivityってのがありますよっていう定義。この下にMainActivityから派生する挙動を記述する。
Intent Filter
Androidのアプリ遷移は全てIntentっていうものを介して行われる。アプリ(Activity)からメールソフトを起動したり、ブラウザを立ち上げたり、電話をかけたり。全てはIntentFilterの設定である。
android.intent.action.MAIN
Javaやってる人ならおなじみの public void static main(String[] args) よろしく、アプリケーション起動時に最初に呼ばれるクラスですよってことです。
android.intent.category.LAUNCHER
アプリケーションランチャーに登録できることをしめしているよ~だ
アプリケーションの実行
とりあえず、本稿のゴールは達成できたわけだ。
疲れた・・・、あとは頑張れ!
Σ(゚Д゚;エーッ!

