このページでは開発したプログラムコードをチップ化してご紹介しています。後ほどわかり易く分類化して整理する予定です。
<開発環境の準備>
ADTを組み込んだEclipseでAndroidアプリケーション開発を始めるにはEclipseをインストールしてからADTプラグインをダウンロードしてインストールを行います。
基本的な手順は以下の通りとなります。
(1)JDKインストール(Java Development Kit)のダウンロード、インストール
日本オラクルのページからダウンロードが可能です。開発環境にあったものをダウンロードして下さい。
http://www.oracle.com/technetwork/jp/java/javase/downloads/index.html
JREやJDKに関する情報
■JRE
JRE(Java Runtime Environment)Java言語で開発されたソフトウェアを実行するために必要なソフトウェアのセットでJavaプログラムを実行するときに必要となるJavaVMとクラスライブラリのパッケージで構成されています。
■JDK
JavaDevelopment Kitの略でJava言語でプログラム開発を行うときに必要なソフトウェアのセットであり、コンパイラ、デバッガ、クラスライブラリ、JavaVMが含まれています。JREはJDKに含まれています。
分類としてSE・ME・EEと分類されているようで、SEは最も一般的なJava開発キットでアプリケーション、アプレットなどの基本的なプログラムを作成できます。MEは携帯機器、組み込み用のプログラムの作成に使用されます。EEは企業の大規模なアプリケーション開発に使用されています。
(2)Androd SDKのダウンロード、インストール
AndroidにはAndroid SDKとAndroid NDKと二種類の開発ツールが用意されています。
アンドロイドSDK(Software Development Kit)とはJAVAを使用するAndroidアプリケーション開発に使用され、NDK(Native DevelopmentKit)はC/C++を使用した開発環境に使用されます。今回はJava言語を使用しますのでAndroid SDKを使用します。
Android SDKはAndroid上で動作するアプリケーション開発に必要なツールとAPIを提供します。
Android SDKは以下のページからダウンロードが可能です。
http://developer.android.com/index.html
(3)Eclipseのダウンロード、インストール
Eclipseは優れた統合開発環境を持つプログラミングツールであり、Androidアプリ開発には最適な開発ツールです。
Ecripseの一番の特徴はプラグインアーキテクチャと呼ばれる機能によって、プラグインモジュールをEclipseに組み込むことで他言語の開発環境を作ることが可能なことです。Eclipseが最初からJava環境を備えているのは最初からJDT(Java Development Tool)を備えているからです。その他の事例としてはEclipseにC++のプラグインモジュールを組み込んだ場合はC++の開発環境を備えることも可能といえます。
その為、Eclipseはそのプラグインモジュールにより様々な開発環境に変えることができるプログラミングツールであると言えます。
Eclipseは以下のページよりダウンロードが可能です。
http://www.eclipse.org/
Eclipseを日本語化は以下のページよりLanguagePackをダウンロードを行い、ファイルを置き換えることで日本語化を行うことが可能です。
http://mergedoc.sourceforge.jp/
(4)Eclipse設定
Pathの設定
Windowsのシステムプロパティを指定、詳細設定のタブを開き、環境変数を選択します。
変数Pathを編集し以下のようにJDKのあるフォルダのbinへのPathを指定して下さい。インストール先フォルダによって変わってきますので、確認をお願いします。
C:\Program Files\Java\jdk1.7.0_03\bin
 (5)Android SDK API/Toolダウンロード/インストール
インストールされたAndrod SDKフォルダ内にあるAndroid SDK Managerを開きます。
以下のような画面が開きますのでAndroidOSにあったツールとAPIのインストールを行ってください。
(5)Android SDK API/Toolダウンロード/インストール
インストールされたAndrod SDKフォルダ内にあるAndroid SDK Managerを開きます。
以下のような画面が開きますのでAndroidOSにあったツールとAPIのインストールを行ってください。
  (6)Eclipse ADT Pluginインストール
次にEclipseへADT(Application Development Tool)をインストールします。次の手順で行います。
①Eclipseを起動します。
②Eclipse Helpを選択しInstallSoftwareを選択します。
(6)Eclipse ADT Pluginインストール
次にEclipseへADT(Application Development Tool)をインストールします。次の手順で行います。
①Eclipseを起動します。
②Eclipse Helpを選択しInstallSoftwareを選択します。
 ③ADDを選択しADT Plugin という名前でhttp://dl-ssl.google.com/android/eclipse/site.xmlを追加します。名前は他の名前でも問題ありません。以下のようにプラグインが表示されますので全てインストールを行ってください。
 
③ADDを選択しADT Plugin という名前でhttp://dl-ssl.google.com/android/eclipse/site.xmlを追加します。名前は他の名前でも問題ありません。以下のようにプラグインが表示されますので全てインストールを行ってください。
 ④インストールがされたらEclipseへのADTプラグイン設定は終了です。
(7)Android エミュレータの設定
最後にAndroidエミュレータの設定を行います。Androd SDKフォルダ内にあるAVD Managerを選択すると次の画面が開きます。
Nameにはエミュレータの名前を、TagetはOSのAPIレベルにあったものを選択し、エミュレータでSDカードを使用するのであればサイズを指定して下さい。SKINはAndroidエミュレータでのSKINを選択しますがここはDefaultでよいかと思われます。ご自身の作りたいエミュレータ環境を指定して下さい。最後にCreate AVDを選択することでエミュレータ環境が作成されます。
④インストールがされたらEclipseへのADTプラグイン設定は終了です。
(7)Android エミュレータの設定
最後にAndroidエミュレータの設定を行います。Androd SDKフォルダ内にあるAVD Managerを選択すると次の画面が開きます。
Nameにはエミュレータの名前を、TagetはOSのAPIレベルにあったものを選択し、エミュレータでSDカードを使用するのであればサイズを指定して下さい。SKINはAndroidエミュレータでのSKINを選択しますがここはDefaultでよいかと思われます。ご自身の作りたいエミュレータ環境を指定して下さい。最後にCreate AVDを選択することでエミュレータ環境が作成されます。
 (8)Androidエミュレータ環境の確認
EclipseのFileからNEW Projectを選択しAndroid Projectを選択します。
 
(8)Androidエミュレータ環境の確認
EclipseのFileからNEW Projectを選択しAndroid Projectを選択します。
  Android Projectの名前を設定します。設定しましたら次へを押してください。
Android Projectの名前を設定します。設定しましたら次へを押してください。
  APIを選択します。AndroidOSにあったAPIを選択してください。
APIを選択します。AndroidOSにあったAPIを選択してください。
 最後にパッケージネームをつけて終了を押してください。
最後に今作成したプロジェクトをデバッグさせます。エミュレータが正常に起動するかどうかを確認してください。正常に動く場合以下のような画面が表示されます。
最後にパッケージネームをつけて終了を押してください。
最後に今作成したプロジェクトをデバッグさせます。エミュレータが正常に起動するかどうかを確認してください。正常に動く場合以下のような画面が表示されます。
 
    
package my.start;
import android.app.Activity;
import android.os.Bundle;
public class ToastprogramActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}
(2)メッセージ表示
トーストを使用してメッセージを表示させます。使用する[Toast]クラスメソッドの記述は以下のとおりです。
■Toastクラスメソッド
public static Toast makeText(Context context,CharSequence text,int duration)
public void show()
上記のメソッドを使用し、トーストを表示させて何かメッセージを表示させるプログラムは次のようになります。
package my.start;
import android.app.Activity;
import android.os.Bundle;
public class ToastprogramActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
//トーストの表示
 	Toast.makeText(this,"トーストプログラムテスト、無事に動作すれば成功です。",Toast.LENGTH_LONG).show();	
    }
}
このプログラムを実行すると次のようなメッセージが表示されます。
 (3)メニューボタン作成
次にメニューボタン作成を行います。メニューボタンで使用する[Activity]クラスメソッドの書式は次の記述です。
■Activityクラスメソッド
public boolean onCreateOptionsMenu(Menu menu)
public abstract MenuItem add(int groupId, int itemId, int order,CharSequence title)
※第一引数:グループID 第二引数:グループID  第三引数:並び順  第四引数:表示するテキスト
それではメニューボタンを3つ設置したプログラムを作成してみます。
このプログラムを実行しますとエミュレータのメニューボタンを押した時点でプログラム中のメニューボタンが表示されるようになっています。
(3)メニューボタン作成
次にメニューボタン作成を行います。メニューボタンで使用する[Activity]クラスメソッドの書式は次の記述です。
■Activityクラスメソッド
public boolean onCreateOptionsMenu(Menu menu)
public abstract MenuItem add(int groupId, int itemId, int order,CharSequence title)
※第一引数:グループID 第二引数:グループID  第三引数:並び順  第四引数:表示するテキスト
それではメニューボタンを3つ設置したプログラムを作成してみます。
このプログラムを実行しますとエミュレータのメニューボタンを押した時点でプログラム中のメニューボタンが表示されるようになっています。
package my.start;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
public class Menu_bottunActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu){
    	menu.add(Menu.NONE,0,0,"Menu1");
    	menu.add(Menu.NONE,1,1,"Menu2");
    	menu.add(Menu.NONE,2,2,"Menu3");
    	return super.onCreateOptionsMenu(menu);	
    }
}
(4)メニューボタンを押した時点でトーストでメッセージを表示
今回使用するメソッドは次のメソッドを使用します。メニュを押した時点で実行されるリソースIDを指定します。
■Activityクラスメソッド
	public boolean onOptionsItemSelected(MenuItem item)
■MenuItemクラスメソッド
	public abstract int getItemId()
次のプログラムではメニューボタンを3つ設置し、押した時点でToastで異なるメッセージを表示させています。
package my.start;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MenuActiveActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    
        //メニューボタンを押されたときに実行される
        @Override
        public boolean onCreateOptionsMenu(Menu menu){
        	//メニューを追加
        	menu.add(Menu.NONE ,0,Menu.NONE,"Menu1");
        	menu.add(Menu.NONE,1,Menu.NONE,"Menu2");
        	menu.add(Menu.NONE,2,Menu.NONE,"Menu3");
        	return super.onCreateOptionsMenu(menu);
        }
//メニューが選択されたときに実行される
        @Override
        public boolean onOptionsItemSelected(MenuItem item){
       //選択されたIDを確認
        	switch(item.getItemId()){
        	case 0:
        		Toast.makeText(this, "Menu1を選択",Toast.LENGTH_SHORT ).show();
        		break;
        	case 1:
        		Toast.makeText(this,"menu2を選択",Toast.LENGTH_SHORT).show();
        		break;
        	case 2:
        		Toast.makeText(this,"menu3を選択",Toast.LENGTH_SHORT).show();
        		break;
        	}
        	return true;
        }
}
このプログラムを実行すると次のような画面、メッセージ表示がされます。
 
 
 1.[src]フォルダ
作成したソースコードが保存されるフォルダであり、プログラムソースコードをもつ.javaの拡張子をもつファイルはこちらに保存されます。アプリケーションの機能を定義するためのソースコードを記述するメインのファイルです。
2.[gen]フォルダ
R.javaというファイルを生成するフォルダです。これはアプリケーション内部の部品がもつ固有のIDを定義づけるファイルということになります。
例えば次にある[res]フォルダ内にあるアプリケーションリソース(画像、値)を呼び出す際にR.java内で定義づけられた固有ID(定数)を使用することでそのリソースの読み込みが可能になります。
このファイルは自動生成される為、プログラミング時で直接ファイルに記述する必要はありません。
3. [res]フォルダ
[res]フォルダは画面のレイアウト、ウィジェットのレイアウト、テキストの値、画像などのアプリケーションリソースをxmlによって保存するフォルダです。
3.1 drawableフォルダ
drawableで始まるフォルダには画面で表示するための画像などの情報が保存されています。初めてアプリケーション作成時にはdrawableフォルダが3つもしくは4つになっていることに疑問をもたれることでしょう。これはそのリソースがその画面の大きさや解像度によって使い分けをする為にリソースフォルダがわけられており、その解像度に応じてリソースが使用されます。
3.2 layoutフォルダ
layoutフォルダにはそのままレイアウトの情報が保存されています。その中のファイルを開くと次のような画面がでてきます。これはウィジェットの内部にテキストビューとアナログ時計を組み合わせたレイアウトの記述例です。
1.[src]フォルダ
作成したソースコードが保存されるフォルダであり、プログラムソースコードをもつ.javaの拡張子をもつファイルはこちらに保存されます。アプリケーションの機能を定義するためのソースコードを記述するメインのファイルです。
2.[gen]フォルダ
R.javaというファイルを生成するフォルダです。これはアプリケーション内部の部品がもつ固有のIDを定義づけるファイルということになります。
例えば次にある[res]フォルダ内にあるアプリケーションリソース(画像、値)を呼び出す際にR.java内で定義づけられた固有ID(定数)を使用することでそのリソースの読み込みが可能になります。
このファイルは自動生成される為、プログラミング時で直接ファイルに記述する必要はありません。
3. [res]フォルダ
[res]フォルダは画面のレイアウト、ウィジェットのレイアウト、テキストの値、画像などのアプリケーションリソースをxmlによって保存するフォルダです。
3.1 drawableフォルダ
drawableで始まるフォルダには画面で表示するための画像などの情報が保存されています。初めてアプリケーション作成時にはdrawableフォルダが3つもしくは4つになっていることに疑問をもたれることでしょう。これはそのリソースがその画面の大きさや解像度によって使い分けをする為にリソースフォルダがわけられており、その解像度に応じてリソースが使用されます。
3.2 layoutフォルダ
layoutフォルダにはそのままレイアウトの情報が保存されています。その中のファイルを開くと次のような画面がでてきます。これはウィジェットの内部にテキストビューとアナログ時計を組み合わせたレイアウトの記述例です。
 これはウィジェットのバックグラウンドを#f5deb3にしテキストビューにはresフォルダ内部のvalue(値のリソースを保存する)のname=helloの文字列を読み込み、さらにIDがanalogclock1のアナログ時計を読み込んでいる記述です。
少しわかりにくいとお思いでしょうが、その場合は画面左下のタブのGraphical Layoutを選択するとその記述がグラフィカル表示されその次の図のようになります。
これはウィジェットのバックグラウンドを#f5deb3にしテキストビューにはresフォルダ内部のvalue(値のリソースを保存する)のname=helloの文字列を読み込み、さらにIDがanalogclock1のアナログ時計を読み込んでいる記述です。
少しわかりにくいとお思いでしょうが、その場合は画面左下のタブのGraphical Layoutを選択するとその記述がグラフィカル表示されその次の図のようになります。
 これなら画面上でグラフィカル操作ができるのでわかりやすくちょっとしたファンクションであれば簡単に設置することが可能になります。
これに関しては色々と自分なりに試してみてどうなるのか触ってみるのがよいのかなと思っています。
3.3 valuesフォルダ
次にValuesのフォルダについてですが前述したとおりテキストビューなどを読みこんだ際に表示する文字列や値を保存してあります。
これも上記の場合ではlayout内部にあるmain.xmlの@string/helloという記述によって、values内部のstrings.xml内にある
これなら画面上でグラフィカル操作ができるのでわかりやすくちょっとしたファンクションであれば簡単に設置することが可能になります。
これに関しては色々と自分なりに試してみてどうなるのか触ってみるのがよいのかなと思っています。
3.3 valuesフォルダ
次にValuesのフォルダについてですが前述したとおりテキストビューなどを読みこんだ際に表示する文字列や値を保存してあります。
これも上記の場合ではlayout内部にあるmain.xmlの@string/helloという記述によって、values内部のstrings.xml内にある