Hello, Android! (2)
以下の文章はこちらを参考に翻訳したものです。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
UIを構築する |
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”が完成しました!次のステップで、実行してみましょう。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-