必要なコードを自動補完してくれるEclipse
ここでちょっとプログラムを書いてみましょう。onDestoryメソッドに以下のコードを追加してみます。
Toast.makeText(this, "onDestory", Toast.LENGTH_SHORT).show();
「Toast.」まで入力したところで、小さなウィンドウが表示されるはずです。これは、その先の処理を自動補完する機能です。
ここでは、まだToastのクラスをインポートしてないため、エラーになっています。とりあえず最後まで入力してください。今度、行の右側に電球と×印が表示されるはずです。
これをクリックすると、いくつかの候補が表示されますが、正解は先頭にある「Toastをインポートします」です。同時にコードとしてimport文が右側に表示されているはずです。
では、この「Toastをインポートします」をダブルクリックします。これで、import文が自動的に挿入され、右側の×印が消えました。このようにEclipseのエディタは、ソースコードなどをある程度理解し、適切な助言をしつつ、コードを自動補完してくれるのです。ちなみに今回は細かく説明しませんが、このToastというオブジェクトは、画面にちょっとしたメッセージを短時間表示させるものです。
では、さらに次のメソッドであるonPauseにも同じようなコードを入力してみましょう。ですが、文字列の部分は「onPaulse」に変更します。
Toast.makeText(this, "onPause", Toast.LENGTH_SHORT).show();
今度も「Toast.」まで入力すると小さなウィンドウが開きます。今度は、ウィンドウから「makeText」をシングルクリックで選びます。2つありますが、引数にCharSequenceが含まれているほうにします。するとToast.makeTextの解説が右側に表示されます。
さらにダブルクリックで選択すると、コードが挿入され、引数の部分が四角く囲まれた状態になります。最初は先頭にいるので「this」と入力したのちタブキーを押すと2つ目の引数に移動します。引数が四角く囲まれている状態では、タブキーで次の項目、シフト+タブキーで前の項目へと移動できます。
最後の項目で「Toast.」と入力すると、今度は、Toastクラスの定数の一覧が表示されるので、LENGTH_SHORTを選択します。
そのあとエンターキーを押せば、makeTextのカッコの後ろにカーソルが来るので、ピリオドを入力。するとさらに候補が表示されます。“s”を入力すると“s”で始まるメソッドが表示されるので、showを選びます。Eclipseのエディターでは、こうやってコードを補完していきながらプログラムを書いていきます。たまに誤解もありますが、基本的には、こうやって補完できるということは、ある程度間違いがない記述をしているということです。
こうやって追加したメソッド全部に同じようにステートメントを追加していきましょう。最終的には最後に添付したリストのようになります。
入力が終わったら、ソースコードを保存します。保存は、Ctrl+Sキー、ツールバーのフロッピーアイコン、ファイルメニューの「保存」で行えます。ソースコードに複数のファイルがあるとき、他のファイルでの定義などを使うことがありますが、このとき、Eclipseは、保存してあるファイルから情報を引き出します。このため、ファイルを修正しても、保存しないと、別のファイルでメソッドを補完させようとしてもできないことがあります。修正がおわったら、別のファイルを修正する前にセーブする習慣をつけたほうがいいでしょう。
このほか、ソースコードの修正や整形などに便利なショートカットがあります。機能とキーの割り当ては、ヘルプメニューの「キーアシスト」やウィンドウメニューの「設定」、「一般」→「キー」で見ることができます。
さて今回はここまでとし、次回はエミュレーターで実行させる方法などを解説します。
リスト
package com.tyrell_replicants.sample01;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
public class MyMainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Toast.makeText(this, "onDestory", Toast.LENGTH_SHORT).show();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
Toast.makeText(this, "onPause", Toast.LENGTH_SHORT).show();
}
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Toast.makeText(this, "onRestart", Toast.LENGTH_SHORT).show();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
Toast.makeText(this, "onResume", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
Toast.makeText(this, "onStart", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
Toast.makeText(this, "onStop", Toast.LENGTH_SHORT).show();
}
}

この連載の記事
- 第11回 アプリケーションをAndroidマーケットに登録する
- 第10回 ブロードキャストへの応答とタイマ割り込み
- 第9回 Androidアプリで複数の項目を表示するリストビューを使う
- 第8回 Androidアプリに必要なダイアログを作る
- 第7回 Androidアプリの設定画面を作成する
- 第6回 Androidアプリ内で表示されるメニューを作成する
- 第5回 インテントによるアプリケーションとアクティビティの呼出し
- 第4回 Androidアプリを構成する「アクティビティ」を実際に作る
- 第3回 アプリケーションの基本となる「アクティビティ」
- 第2回 開発したアプリをエミュレーターやデバッガ上でテストする
- この連載の一覧へ