Androidアプリ製作のいろいろ

役に立ったり面白かったり楽しかったり いろんなAndroidアプリケーションを作れるように いろいろ調べたり集めたり

2012年4月6日金曜日

Android 「Hello!World!」 ~ い

先に書いたソースコードのみで「Hello World!」と表示するアプリ

package jp.app.woodroid;

import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;

public class HelloworldActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    TextView tv = new TextView(this);
    tv.setText("Hello World!");

    LinearLayout ll = new LinearLayout(getApplicationContext());
    ll.addView(tv);

    setContentView(ll);

    }
}

少し中を見てみたいと思います。

1行目はパッケージの宣言
2行目から7行目までは使用しているクラスのインポート

ソースコードは8行目から始まっています。
public class HelloworldActivity extends Activity {
Androidのプログラムは基本的にはJavaのプログラムと同じクラスですが Activityクラスを継承し作ります。

また、アプリの「画面を作る」メソッドがあり、その中で画面構成を行います。
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    TextView tv = new TextView(this);
    tv.setText("Hello World!");

    LinearLayout ll = new LinearLayout(getApplicationContext());
    ll.addView(tv);

    setContentView(ll);

    }

onCreateメソッドをオーバーライドして、アプリの画面を作ります。
このonCreateメソッドの中では 「画面に『表示場所』を作って
『表示させたいパーツ』を設定して
表示を実行」
ということをしています。

まずは画面に表示させたいパーツ(=Viewと呼びます)を作ります。
Viewにはいろいろ種類がありますが、ここでは文字を表示させるView「TextView」クラスを使っています。
    TextView tv = new TextView(this);
    tv.setText("Hello World!");
14行目:TextViewクラスのインスタンスを作って
15行目:TextViewのsetTextメソッドで表示させる文字を設定しています。


次に、表示場所を作ります。(表示場所もViewの一種です)
    LinearLayout ll = new LinearLayout(getApplicationContext());
    ll.addView(tv);
17行目:LinearLayoutクラスのインスタンスを作っています。
(14行目のTextViewも同じくView生成時の引数はContextクラスのインスタンスを当てるんですが
このプログラムの場合には「this」で対応できます。
Contextに関しては別記事で書きたいと思っています)
18行目:表示させたいViewを設定するaddViewメソッドを使って、Viewを設定します。


そして20行目
    setContentView(ll);
setContentViewを使って、「『表示場所』を実行」します。
そうすると


Hello World!となる訳です。

ここにいろんなViewを設定したり、Viewにいろいろな命令を設定したりすることで
様々な動きをするアプリを作ることができます。

0 件のコメント:

コメントを投稿