Androidアプリ作成講座 4-SurfaceViewクラスを作成する

2018年8月4日

これからプロジェクト作成で出力されたソースにコードを追加していきます。

前の投稿で、画面に"Hello World!"が表示されましたが、これはプロジェクトの作成時にデフォルトで用意されている画面です。今回の講座では独自の描画を行うので、独自の描画のソースに置き換えます。(置き換え処理は後で説明します)

Androidでは、画面(Activity)表示をビューを使って行います。そのビューを独自に用意します。

そして、円を描くような古典的な描画に適したビューに「SurfaceView」クラスがあります。このクラスを実装していきましょう。

1.MySurfaceViewクラスを作成する

SurfaceViewの派生クラスを作成します。例では「MySurfaceView」としました。


ソースを格納しているフォルダの位置で右クリックメニューを表示してJavaのクラスを新規作成ます。メニューを選ぶと、ダイアログが表示されます。

ここでクラス名を指定します。その他にも項目があり、親クラス(super class)の指定がありますが、設定すると警告がいろいろ出るので入力せずに「OK」をクリックしてください。MySurfaceViewクラスが作成されます。

2.MySurfaceViewクラスのソースを整える

ソースは以下のようになっています。

package kunimiyasoft.circletest;
public class MySurfaceView {
}

MySurfaceViewはSurfaceViewの派生クラスとするので、コードを追加します。

以下のようにコードを追加してください。

package kunimiyasoft.circletest;

import android.content.Context;
import android.view.SurfaceView;

public class MySurfaceView extends SurfaceView {

    public MySurfaceView(Context context) {
        super(context);
    }
}

importで必要なライブラリを指定します。そして、extendsで親クラスを指定します。
クラス内にコンストラクタを追加しておきましょう。

うまくできましたか?。おかしいところがあると、赤の下線やポップアップで警告が出ます。警告内容を確認して修正してみてください。

ここで一回ビルドをしてみましょう。「Build」「Make Project」でビルドを行い、正常終了することを確認しましょう。

以上で、最低限のクラス定義の作業ができました。まだ描画コードがありませんし、Androidからのメッセージを受け取る仕組みがありません。

次の投稿では、ビューをActivityに結び付けます。

(LIST)Androidアプリ作成講座

Androidアプリ作成講座 プロローグ
Androidアプリ作成講座 1-プロジェクトを作る
Androidアプリ作成講座 2-プロジェクトを確認する
Androidアプリ作成講座 3-エミュレーター環境を作る
Androidアプリ作成講座 4-SurfaceViewクラスを作成する
Androidアプリ作成講座 5-SurfaceViewをActivityにセットする
Androidアプリ作成講座 6-SurfaceViewがイベントを受け取れるようにする
Androidアプリ作成講座 7-キャンバス上で描画する
Androidアプリ作成講座 8-円を描画する
Androidアプリ作成講座 9-デバッガを使ってみよう
Androidアプリ作成講座 10-Animationクラスを使う
Androidアプリ作成講座 11-円移動のソース