文字を表示してみる

Eclipseのインストールの概要

1.今回のAndroidアプリ開発は

前回は「Hello World」でした。今回は「Hellow World」と表示するAndroidアプリを開発します。同じです。でも今回は、プログラミングして表示してみます。背景をグレーにして、大きく、青色で書いてみることにします。

2.プロジェクトを作る

前回のプロジェクトを再利用することにします。

3.プログラミングする

プログラミングを始めます。プログラミングには、いろいろな方法がありますが、今回は、ActivityクラスとViewクラスを使う方法で開発します。

4.Activityプログラミング

Activityクラスは、Androidアプリの中心になります。これは、最初からありますが、Viewクラスを使うために、少し変更します。

■プログラミングの手順

  1. Eclipse を起動
  2. 「ファイル」の「ファイルを開く」
  3. ファイル選択画面が出る
  4. helloWorld.java を開く
    標準では、「workspace」の「start」の「src」の「my」の「start」の中にある。
  5. Start.java の中身が表示される
  6. 下のソースコードのように書きかえる
  7. 「ファイル」の「保管」

■ソースコード

package my.start;

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

public class Start extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LinearLayout l = new LinearLayout(this);
        l.setOrientation(LinearLayout.VERTICAL);
        setContentView(l);
        l.addView(new Screen(this));
    }
}

■ちょっと解説
Androidアプリが実行されると Activityクラスを継承したクラスの「 onCreate 」が実行されます。今回の場合、この部分です。

        super.onCreate(savedInstanceState);
        LinearLayout l = new LinearLayout(this);
        l.setOrientation(LinearLayout.VERTICAL);
        setContentView(l);
        l.addView(new Screen(this));
これがメインのプログラムになります。ここでは、レイアウトに、Veiwクラスを継承したScreenクラスを登録しています。Screenクラスは、画面描写を担当します。次に、このScreenクラスを作りましょう。

5.Viewプログラミング

Viewクラスは、画面描写を担当します。これは、最初からは無いので、新しく作ります。

■プログラミングの手順

  1. さっきの「 start.java 」を開いたまま
  2. 「ファイル」の「新規」の「クラス」
  3. クラスの設定画面が出る
  4. 名前を「 Screen 」にする
  5. スーパークラスの横の「参照」
  6. スーパークラス選択画面が出る
  7. 上に「 View 」と入力
  8. 下に関連するスーパークラスが出てくる
  9. 「 View - android.view 」を選択して、「OK」
  10. 「終了」
  11. Screen.java が作られる
  12. 下のソースコードのように書きかえる
  13. 「ファイル」の「保管」

■ソースコード

package my.start;

import android.content.Context;
import android.view.View;
import android.graphics.*;

public class Screen extends View {

	public Screen(Context context) {
		super(context);
	}
	@Override
	protected void onDraw(Canvas c) {
		super.onDraw(c);
		Paint p = new Paint();
		c.drawColor(Color.GRAY);
		p.setARGB(255,100,100,255);
		p.setTextSize(64);
		p.setAntiAlias(true);
		c.drawText("hello world",50,300,p);
	}

}

■ちょっと解説
Activityを継承したクラスに、Viewを継承したクラスが登録されると、その中の「 onDraw 」が実行されます。今回の場合、この部分です。

		super.onDraw(c);
		Paint p = new Paint();
		c.drawColor(Color.GRAY);
		p.setARGB(255,100,100,255);
		p.setTextSize(64);
		p.setAntiAlias(true);
		c.drawText("hello world",50,300,p);
それぞれは、次のような働きがあります。
□c.drawColor(Color.GRAY);
背景に灰色を表示

□p.setARGB(255,100,100,255);
色を不透明な水色に設定

□p.setTextSize(32);
文字の大きさを32に設定

□p.setAntiAlias(true);
文字の輪郭をきれいに設定

□c.drawText("hello world",32,32,p);
座標(32,32)に、設定pで、hello world と表示

6.実行してみる

さあ、できあがりました。本当はビルドして、実行ファイルを作るのですが、Eclipse が自動でやってくれてます。実行してみましょう。

実行の手順は、前回と同じです。

大きな文字で、hello world と表示されたら成功です。

androidロゴ hello world

*エミュレータの不調が原因で、うまく実行されないこともあるようです。

7.次回のAndroidアプリ開発は

今回は、好きな文字を表示できるようになりました。文字を大きくしたり、色を変えたりもできるようになりました。この色を変える方法は、図形の場合にも使えます。次回は、いろいろな図形を表示してみましょう。