Hello, Android! (2)

以下の文章はこちらを参考に翻訳したものです。

                                                                                                                        • -

UIを構築する
下記の修正されたコードを見て、同じようにHelloAndroid.javaファイルを変更してください。ソースコードに関しては、1行ずつ詳細に解説していきます。

package com.android.hello;

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);
       TextView tv = new TextView(this);
       tv.setText("Hello, Android");
       setContentView(tv);
   }
}


メモ:TextViewパッケージのインポートを忘れてしまった場合には、Ctrl-Shift-O(Macの場合はCmd-Shift-O)を実行してみてください。このコマンドはimport部分を編成するEclipseのショートカットで、インポートせずにパッケージを宣言した場合に自動的に追加してくれます。

Androidでは、ユーザインターフェースはViewと呼ばれるクラス階層で構成されています。Viewはラジオボタンやアニメーション、テキストラベルのようなシンプルな描画オブジェクトです。テキストを扱う特殊なViewを単純にTextViewと呼んでいます。

TextViewを生成しているのが以下のコードです。

TextView tv = new TextView(this);


TextViewのコンストラクタ変数は、Android Contextのインスタンスです。Contextは単にシステムのハンドルであり、リソースの解決や、データベースや設定に対するアクセスの取得などのサービスを提供します。ActivityクラスはContextから派生しています。つまりHelloAndroidクラスはActivityのサブクラスであり、またContextのサブクラスでもあるということになります。そのため、TextViewに対して”this”参照を渡すことができます。

TextViewを生成したら、次に何を表示するかを設定します。

tv.setText("Hello, Android");


特に特筆すべきことはないでしょう。

ここまでで、TextViewの生成と表示するテキストの設定が完了しました。最後に、以下のようにTextViewと画面の関連付けを行います。

setContentView(tv);


ActivityのsetContentView()メソッドは、どのViewがActivityのUIと関連付いているかをシステムに通知します。Activityがこのメソッドを呼びださなければUIは表示されず、真っ黒な画面が表示されます。とりあえず今はテキストを表示したいだけなので、さきほど作成したTextViewを渡しています。

以上でAndroid版”Hello World”が完成しました!次のステップで、実行してみましょう。

                                                                                                                        • -


Android翻訳目次へ