アンドロイド・プログラミングはじめのいっぽ
ここでは、アンドロイド・アプリケーション開発の初めの一歩として、eclipseに新しいアンドロイド・プロジェクトを作成して それをエミュレータで実行してみる。
基本的にはgoogleのWebサイトにある、チュートリアル Hello, World - Android Developers のパクリではあるが自分の頭を整理する意味で私なりにまとめてみた。
EclipseでAndroidプロジェクトを作成
Eclipseのメニューから「ファイル(F)」→「新規(N)」→「プロジェクト...(R)」を選択する。
「新規」ダイアログボックスにて「Android」の下の「Android プロジェクト」を選択して次(N)ボタンを押す。
「新規 Android プロジェクト」ダイアログボックスが表示されるので、下図のように入力して完了ボタンを押すとプロジェクトが作成される。
それぞれの入力項目と意味は以下のとおりである。
- プロジェクト名:HelloAndroid
Eclipseでjavaの開発をおこなう時にいつもどうりに指定するプロジェクト名を入力する。 - ビルド・ターゲット:Android 2.1
アプリケーションがビルドされるときにターゲットとなるアンドロイド・プラットフォームを指定する。 - アプリケーション名:Hello, Android
Android 携帯端末に表示されるアプリケーションのタイトルを指定。 - パッケージ名:xxx.yyy
Javaの名前空間をしめすパッケージ名を指定する。
ドットで一個以上区切らないと何故かしら「 パッケージ名には少なくとも 2 つの識別子が必要です。」と怒られてしまう。 - Create Activity:HelloAndroid
アンドロイド・アプリケーションのメインクラスとなるクラス名を指定。
このクラスは Activityクラスを継承したクラスとなる。
gooleのドキュメントによると「アクティビティとは単に、実行して何らかの処理を行うことができるクラスを意味します。」との事である。 - Min SDK Version:2
ターゲットとなるアンドロイド・マシーンの最小 API レベルを指定する。
「アプリケーションで必要な API レベルがデバイスでサポートされるレベルよりも高い場合、アプリケーションはインストールされません。」 との事である。
例えばWindowsであれは、「対応OS:このアプリケーションはWindow・Vista以上で動作します」なんて意味かな?
上記指定のようにビルド・ターゲットのAPIレベルと一致しない場合は、 「The API level for the selected SDK target does not match the Min SDK version.」 と警告が表示される。
警告が気になるならビルド・ターゲットで指定したAndroid 2.1のAPIレベルである7を指定すればよい。
アンドロイドの「API Level」については Android API Levels - Android Developers により詳しい説明が載っている。
注意.プロジェクトがうまく作成できない場合は以下の点を確認してみて下さい。
- eclipseに「アンドロイドSDKのローケーション」が設定されていない
- ターゲットとなるAVDを作成していない。
プロジェクトを実行する。
「Androidプロジェクト」を作成しただけで、すぐにエミュレータを起動してアプリケージョンを実行する事ができます。
eclipseのパッケージ・エクスプローラーより作成した新しいプロジェクト「HelloAndroid」を選択して、右クリックにて 表示されるメニューより「実行(R)」→「Android アプリケーション」を選択します。
エミュレータが起動し終わったら(結構時間がかかります。)、「MENU」ボタンを押します。
「Hello, Android」アプリケーションが起動し「Hello World, HelloAndroid!」の文字が表示されます。
ホームボタンを押して一度、アンドロイドの初期画面に戻った後、▼ボタンを押すと「Hello, Android」アプリケーションのアイコンが登録されているのがわかります。
このアイコンをクリックすると、再度アプリケーションを起動する事ができます。
エミュレータウィンドウを閉じます。
プロジェクトの内部をチョトビット覗いてみる
詳しい説明については次回以降におこないますが、プログラムを少し変更してアプリケーションで表示される文字を変更してみます。
2とおりのやり方があります。
xml設定ファイルによる表示文字列の変更
eclipseのパッケージ・エクスプローラーより「/HelloAndroid/res/values/strings.xml」を ダブルクリックして開いて下さい。
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, HelloAndroid!</string> <string name="app_name">Hello, Android</string> </resources>
3行目のstringタグに囲まれている部分の文字が画面に表示される文字になります。
試しに、この文字を適当な文字(xmlで使用可能な)に変更して、再度プロジェクトを実行してみて下さい。
表示される文字が変更した文字に変わっているのがわかると思います。
javaソースによる表示文字列の変更
今度は「/HelloAndroid/src/xxx/yyy/HelloAndroid.java」を開いて下さい。
HelloAndroidアプリケーションのソースコードです。
このコードを以下のように変更します。
package xxx.yyy; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); TextView tv = new TextView(this); tv.setText("ソースコードで表示文字列を変更する。"); setContentView(tv); } }
5行目と12~15行目が追加,修正部分です。
12行目でさきほどのstrings.xmlファイルで設定した文字列を読み込んで文字列を表示していた部分を コメントに変更して、13~15行目のコードで直接,表示する文字列を指定しています。
今度はきほどのstrings.xmlファイルで設定した文字列は無視される事になります。
さっそく、プログラムを実行してみましょう。
表示されている文字が、プログラムで指定したとおりに変更されているのがわかると思います。
このように、アンドロイド・アプリケーションのGUI画面ではxml設定ファイルによって表示する方法と、コードによって 表示する方法とがあります。
今回はさわりの部分だけを解説したので基本的な部分の説明が抜けていますが、だいたいの感じはつかめたのではないかと思います。
AmazonのAndroid関連商品